例子:
select count(*) from table where DATEDIFF ([second]
說明
select DATEDIFF(day
select DATEDIFF(day
time
time
[day] :只會比較
以下分別:
年: SELECT DATEDIFF([year]
月: SELECT DATEDIFF([month]
天: SELECT DATEDIFF([day]
小時: SELECT DATEDIFF([hour]
秒: SELECT DATEDIFF([second]
通過函數GETDATE()
CREATE TABLE site_log (
username VARCHAR(
useractivity VARCHAR(
entrydate DATETIME DEFAULT GETDATE())
轉換日期和時間
函數GETDATE()的返回值在顯示時只顯示到秒
要得到不同格式的日期和時間
SELECT CONVERT(VARCHAR(
注意例子中數字
Nov
(
在函數CONVERT()中你可以使用許多種不同風格的日期和時間格式
日期和時間的類型
類型值 標准 輸出
hh:mi:ss:mmmAM(or )
hh:mi:ss:mmm(
類型
對表中所列的每一種格式
SELECT CONVERT(VARCHAR(
在這個例子中
抽取日期和時間
在許多情況下
SELECT site_name ‘Site Name’
DATEPART(mm
函數DATEPART()的參數是兩個變量
Site Name Month Posted
………………………………………………………………
Yahoo
Microsoft
Magicw
(
Month Posted列顯示了每個站點被查詢的月份
日期的各部分及其簡寫
日期部分 簡寫 值
year yy
quarter qq
month mm
day of year dy
day dd
week wk
weekday dw
hour hh
minute mi
second ss
milisecond ms
當你需要進行日期和時間的比較時
SELECT site_name ‘Site Name’
DATENAME(mm
FROM site_directory
函數DATENAME()和函數DATEPART()接收同樣的參數
Site Name Month Postec
…………………………………………………………………
Yahoo February
Microsoft June
Magicw
(
你也可以用函數DATENAE()www
SELECT site_name ‘Site Name’
DATENAME(dw
‘Day and Month Posted’ FORM site_directory
這個例子執行時
Site Name Day and Month Posted
………………………………………………………………………
Yahoo Friday
Microsoft Tuesday
Magicw
(
返回日期和時間范圍
當你分析表中的數據時
SELECT * FROM weblog WHERE entrydate="
不要這樣做
問題是SQL Sever將用完整的日期和時間代替部分日期和時間
要返回正確的記錄
SELECT * FROM weblog
WHERE entrydate>=”
這個語句可以完成任務
另一種方法是
SELECT * FROM weblog WHERE entrydate LIKE ‘Dec
這個語句可以匹配正確的記錄
使用這兩種匹配日期和時間范圍的函數
比較日期和時間
最後
SELECT entrydate ‘Time Entered’
DATEDIFF(hh
如果當前時間是
Time Entered Hours Ago
…………………………………………………
Dec
Dec
Dec
(
函數DADEDIFF()的參數是三個變量
函數DATEADD()把兩個日期相加
SELECT username ‘User Name’
DATEADD(mm
FROM registration_table
函數DATEADD()的參數有三個變量
User Name Registration Expires
……………………………………………………………………………
Bill Gates Jul
President Clinton Jul
William Shakespeare Jul
(
注意
使用函數DATEADD()把一個日期加上一個月
用northwind庫中的employees表作為用例表
說明:between
看以下實例:
執行sql語句“SELECT hiredate FROM employees”顯示結果如下:
hiredate
從以上結果集中搜索出hiredate在"
SELECT hiredate
FROM employees
WHERE hiredate between cast(
執行該語句後結果如下:
hiredate
以上sql語句中出現between
在WHERE中用between
datediff函數:DATEDIFF ( datepart
datepart的取值可以是year
startdate 是從 enddate 減去
看以下實例:
搜索hiredate的值在"
SELECT hiredate
FROM employees
WHERE datediff(day
執行該語句後結果如下:
hiredate
因此datediff(day
的值
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22332.html