程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL數據操作基礎(中級)10

SQL數據操作基礎(中級)10

編輯:關於SqlServer
操作日期和時間 

日期和時間函數對建立一個站點是非常有用的。站點的主人往往對一個表中的數據何時被更新感興趣。通過日期和時間函數,你可以在毫秒級跟蹤一個表的改變。 

返回當前日期和時間 

通過函數GETDATE(),你可以獲得當前的日期和時間。例如,語句SELECT GETDATE()返回如下的結果: 

…………………………….. 

NOV 30 1997 3:29AM 

(1 row(s) affected) 

顯然,如果你將來使用這個函數,你得到的日期將比這個時間晚,或者梗早。 

函數GETDATE()可以用來作為DATEDIME()型字段的缺省值。這對插入記錄時保存當時的時間是有用的。例如,假設有一個表用來保存你站點上的活動日志。每當有一個訪問者訪問到你的站點時,就在表中添加一條新記錄,記下訪問者的名字,活動,和進行訪問的時間。要建立一個表,其中的記錄包含有當前的日期和時間,可以添加一個DATETIME型字段,指定其缺省值為函數GETDATE()的返回值,就象這樣: 

CREATE TABLE site_log ( 

username VARCHAR(40), 

useractivity VARCHAR(100), 

entrydate DATETIME DEFAULT GETDATE()) 

轉換日期和時間 

你也許已經注意到,在上一節的例子中,函數GETDATE()的返回值在顯示時只顯示到秒。實際上,SQL Sever內部時間可以精確到毫秒級(確切地說,可以精確到3.33毫秒)。 

要得到不同格式的日期和時間,你需要使用函數CONVERT()。例如,當下面的這個語句執行時,顯示的時間將包括毫秒: 

SELECT CONVERT(VARCHAR(30),GETDATE(),9) 

注意例子中數字9的使用。這個數字指明了在顯示日期和時間時使用哪種日期和時間格式。當這個語句執行時,將顯示如下的日期和時間: 

………………………………….. 

Nov 30 1997 3:29:55:170AM 

(1 row(s) affected) 

在函數CONVERT()中你可以使用許多種不同風格的日期和時間格式。表11.1顯示了所有的格式。 

表11.1 日期和時間的類型 

類型值 標准 輸出 

0 Default mon dd yyyy hh:miAM 

1 USA mm/dd/yy 

2 ANSI yy.mm.dd 

3 British/French dd/mm/yy 

4 German dd.mm.yy 

5 Italian dd-mm-yy 

6 - dd mon yy 

7 - mon dd,yy 

8 - hh:mi:ss 

Default + milliseconds--mon dd yyyy  
hh:mi:ss:mmmAM(or ) 

10 USA mm-dd-yy 

11 JAPAN yy/mm/dd 

12 ISO yymmdd 

13 Europe Default + milliseconds--dd mon yyyy 

hh:mi:ss:mmm(24h) 

14 - hh:mi:ss:mmm(24h) 

類型0,9,
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved