當前位置:首頁 > 建站常識 > 列表

sql語句 時(shí)間相減

點擊:時(shí)間:2014/8/7關鍵詞:
“爲 datediff 指定了(le)無效的(de)參數 1”錯誤的(de)原因access中DateDiff 的(de)寫法和(hé)MSSQL中的(de)寫法是有區(qū)别的(de),不注意區(qū)别就會提示:“爲 datediff 指定了(le)無效的(de)參數 1”錯誤以下(xià)是access數據庫的(de)DateDiff的(de)寫法:sql = "

“爲 datediff 指定了(le)無效的(de)參數 1”錯誤的(de)原因

access中DateDiff 的(de)寫法和(hé)MSSQL中的(de)寫法是有區(qū)别的(de),不注意區(qū)别就會提示:“爲 datediff 指定了(le)無效的(de)參數 1”錯誤

以下(xià)是access數據庫的(de)DateDiff的(de)寫法:
sql = "select * from table where DateDiff('d',時(shí)間變量,now())=0"
而MSSQL中DateDiff的(de)寫法是這(zhè)樣的(de):
sql = "select * from table where DateDiff(d,時(shí)間變量,getdate())=0"
注意兩者的(de)區(qū)别:DateDiff('d',ymd,date())  和(hé) (d,ymd,getdate())
mssql 時(shí)間函請用(yòng)getdate(),而access中的(de)時(shí)候函數用(yòng)now()
獲取當天文章(zhāng)數,access中的(de)“d”用(yòng)單引号,而mssql中不用(yòng)單引号,否則會出錯。


DateDiff 語法及實例
DateDiff()函數:返回兩個(gè)日期之間的(de)差值
表達式 DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])
timeinterval 表示相隔時(shí)間的(de)類型,代碼爲:
yyyy 年
q 季
m 月(yuè)
y 一年的(de)日數
d 日
w 一周的(de)日數
ww 周
h 時(shí)
n 分(fēn)鐘(zhōng)
s 秒
 

實例:

<%starttime = "2009-9-1"
response.write "從現在到"&starttime&"有:" & DateDiff('d',starttime,now())&"天了(le)"%>
返回結果: 從現在到2009-9-1已有XX天了(le).
該函數在access中可(kě)用(yòng),mssql中則要稍做(zuò)修改:DateDiff(d,starttime,getdate()),而該函數在oracle中不可(kě)用(yòng)

------------------------------------------------------------
select datediff(''d'','2009-01-01','2003-09-02')返回的(de)是1;
select datediff(''d'','2009-01-02','2003-09-01')返回的(de)是-1;
可(kě)見datediff返回的(de)是date2和(hé)date1之間在給定參數timeinterval下(xià)的(de)差值

預約建站
免費提供網站優化(huà)
領取關鍵詞