1. 在sqlserver怎麼轉換時間控制項
你的問題涉及兩個方面的知識: 一方面需要將數字轉換為時間,這個就可以用sql的時間函數,一般用的也就只有四個: (1)dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 (2)datediff 返回跨兩個指定日期的具體返回格式的差值
2. sql 中Dateadd()函數的用法
DATEADD
在向指定日期加上一段時間的基礎上,返回新的
datetime
值。
語法
DATEADD
(
datepart
,
number,
date
)
參數
datepart
是規定應向日期的哪一部分返回新值的參數。下表列出了
Microsoft®
SQL
Server™
識別的日期部分和縮寫。
日期部分
縮寫
Year
yy,
yyyy
quarter
qq,
q
Month
mm,
m
dayofyear
dy,
y
Day
dd,
d
Week
wk,
ww
Hour
hh
minute
mi,
n
second
ss,
s
millisecond
ms
number
是用來增加
datepart
的值。如果指定一個不是整數的值,則將廢棄此值的小數部分。例如,如果為
datepart
指定
day,為
number
指定
1.75,則
date
將增加
1。
date
是返回
datetime
或
smalldatetime
值或日期格式字元串的表達式。有關指定日期的更多信息,請參見
datetime
和
smalldatetime。
如果您只指定年份的最後兩位數字,則小於或等於"兩位數年份截止期"配置選項的值的最後兩位數字的數字所在世紀與截止年所在世紀相同。大於該選項的值的最後兩位數字的數字所在世紀為截止年所在世紀的前一個世紀。例如,如果
two
digit
year
cutoff
為
2049(默認),則
49
被解釋為
2049,2050
被解釋為
1950。為避免模糊,請使用四位數的年份。
返回類型
返回
datetime,但如果
date
參數是
smalldatetime,返回
smalldatetime。
示例
此示例列印出
pubs
資料庫中標題的時間結構的列表。此時間結構表示當前發布日期加上
21
天。
USE
pubs
GO
SELECT
DATEADD(day,
21,
pubdate)
AS
timeframe
FROM
titles
GO
下面是結果集:
timeframe
---------------------------
Jul
3
1991
12:00AM
Jun
30
1991
12:00AM
Jul
21
1991
12:00AM
Jul
13
1991
12:00AM
Jun
30
1991
12:00AM
Jul
9
1991
12:00AM
Mar
14
1997
5:09PM
Jul
21
1991
12:00AM
Jul
3
1994
12:00AM
Mar
14
1997
5:09PM
Nov
11
1991
12:00AM
Jul
6
1991
12:00AM
Oct
26
1991
12:00AM
Jul
3
1991
12:00AM
Jul
3
1991
12:00AM
Nov
11
1991
12:00AM
Jul
3
1991
12:00AM
Jul
3
1991
12:00AM
(18
row(s)
affected)
請參見
3. sqlserver日期計算的問題
dateadd是一個用來相加的一個函數,dd指的是日期裡面的日,DATEADD(dd,
DATEDIFF(dd,0,getdate()),
0)
意思是將DATEDIFF(dd,0,getdate())函數返回的日期增加0天,如果將0改成1,DATEADD(dd,
DATEDIFF(dd,0,getdate()),
1)那就是加一天
DATEDIFF函數返回的是兩個日期之間的間隔,dd就是間隔多少天。
4. sql server 裡面dateadd是什麼意思
DATEADD() 函數在日期中添加或減去指定的時間間隔。
比如希望向 "OrderDate" 添加 2 天,找對應日期的數據:
SELECTOrderId,DATEADD(day,2,OrderDate)ASOrderPayDate
FROMOrders
5. sqlserver中如何把數字轉換成時間的格式
把數字轉換為時間,可以使用SQL的常用函數,常用的有下面四個函數,都給列了出來:
(1)dateadd函數 作用是可以在向指定日期加上一段時間的基礎上,返回新的 datetime 值;
(2)datediff函數 返回跨兩個指定日期的具體返回格式的差值;
(3)datepart函數 返回代表指定日期的指定日期部分的整數;
(4)datename函數 返回代表指定日期的指定日期部分的字元串。
6. 怎樣將sqlserver的日期後推一個月
使用dateadd函數,在當前的時間加一個月,如select dateadd(m,1,getdate()),顯示的就是當前日期再加一個月!如果把1改成-1就是倒退一個月!
7. 如何模擬SQLServer的兩個日期處理函數
//在 PHP 中處理日期非常不方便,比如求兩個日期之間相差的月份?該怎麼辦呢? //文件名:date.inc. php 3 //在使用這兩個函數前,要先將日期或日期時間轉換成timestamp類型。 //如: //$today=mktime(0,0,0,date("m"),date("d"),date("Y")); /****模擬 sql
//在PHP中處理日期非常不方便,比如求兩個日期之間相差的月份?該怎麼辦呢?
//文件名:date.inc.php3
//在使用這兩個函數前,要先將日期或日期時間轉換成timestamp類型。
//如:
//$today=mktime(0,0,0,date("m"),date("d"),date("Y"));
/****模擬sqlserver中的dateadd函數*******
$part 類型:string
取值范圍:year,month,day,hour,min,sec
表示:要增加的日期的哪個部分
$n 類型:數值
表示:要增加多少,根據$part決定增加哪個部分
可為負數
$datetime類型:timestamp
表示:增加的基數
返回 類型:timestamp
**************結束**************/
function dateadd($part,$n,$datetime){
$year=date("Y",$datetime);
$month=date("m",$datetime);
$day=date("d",$datetime);
$hour=date("H",$datetime);
$min=date("i",$datetime);
$sec=date("s",$datetime);
$part=strtolower($part);
$ret=0;
switch ($part) {
case "year":
$year+=$n;
break;
case "month":
$month+=$n;
break;
case "day":
$day+=$n;
break;
case "hour":
$hour+=$n;
break;
8. sqlserver 時間遞增循環 dateadd 怎麼樣循環呢,由於1分鍾有多條數據,但是我只想取1分鍾的第一條數據
直接一個sql 就可以做的事情:
select equipment_field_name, monitoring_time, 第三列
from (select equipment_field_name,
monitoring_time,
第三列,
row_number() over(partition by substring(convert(varchar, getdate(), 120), 1, 16) order by monitoring_time) rn
from ops_monitor_item_result) a
where a.rn = 1
9. sqlserver日期函數
例子:
DATEADD("m",1,"31-Jan-98")
結果:
28-Feb-98
如果是已經建好表了呢,就用下面這個語句:
ALTERTABLEtable_(DATEADD("m",1,LendDate)
如果沒有就在建表的時候加上DEFAULT約束。