當前位置:首頁 » 編程語言 » sql日期表達
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql日期表達

發布時間: 2023-06-07 20:26:46

① 在sql語句中,如果想顯示5年前的日期該怎樣表達

如果你是用SQL Server資料庫,顯示五年前的今天,在查詢分析器中:
select dateadd(yy,-5,getdate())
getdate()表示取系統的當前日期
dateadd(yy,整數,日期)表示在「日期」的基礎上,加上「整數」年,
相應的,如果把yy換成mm或dd,則表示加上相應的月份或天數;

② SQL語言中日期的表示

DATE 「YYYY-MM-DD」格式表示的日期值

TIME 「hh:mm:ss」格式表示的時間值

DATETIME 「YYYY-MM-DD hh:mm:ss」格式

TIMESTAMP 「YYYYMMDDhhmmss」格式表示的時間戳值

YEAR 「YYYY」格式的年份值

③ 關於sql中日期表述方法

用 SQL Server DATEADD() 函數
語法:DATEADD(datepart,number,date)date 參數是合法的日期表達式。number 是您希望添加的間隔數;對於未來的時間,此數是正數,對於過去的時間,此數是負數。

④ 請教高手列舉出sql語句中所有有關日期 、時間的用法 謝謝

SQL語句中時間函數的應用Date 函數
描述:返回當前系統日期。
語法Date

DateAdd 函數
描述:返回已添加指定時間間隔的日期。
語法DateAdd(interval, number, date)
interval: 必選。字元串表達式,表示要添加的時間間隔。有關數值,請參閱「設置」部分。
number: 必選。數值表達式,表示要添加的時間間隔的個數。數值表達式可以是正數(得到未來的日期)或負數(得到過去的日期)。
date: 必選。Variant 或要添加 interval 的表示日期的文字。
interval 參數可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日數) 、d (日) 、w (一周的日數) 、ww (周) 、h (小時) 、n (分鍾) 、s (秒)
說明:可用 DateAdd 函數從日期中添加或減去指定時間間隔。例如可以使用 DateAdd 從當天算起 30 天以後的日期或從現在算起 45分鍾以後的時間。要向 date 添加以「日」為單位的時間間隔,可以使用「一年的日數」(「y」)、「日」(「d」)或「一周的日數」(「w」)。
DateAdd 函數不會返回無效日期。如下示例將 95 年 1 月 31 日加上一個月:
NewDate = DateAdd("m", 1, "31-Jan-95")
在這個例子中,DateAdd 返回 95 年 2 月 28 日,而不是 95 年 2 月 31 日。如果 date 為 96 年 1 月 31 日,則返回 96 年 2 月 29 日,這是因為 1996 是閏年。
如果計算的日期是在公元 100 年之前則會產生錯誤。
如果 number 不是 Long 型值,則在計算前四捨五入為最接近的整數。

DateDiff 函數
描述:返回兩個日期之間的時間間隔。
語法DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear> )
interval: 必選。字元串表達式,表示用於計算 date1 和 date2 之間的時間間隔。有關數值,請參閱「設置」部分。
date1, date2: 必選。日期表達式。用於計算的兩個日期。
firstdayofweek: 可選。指定星期中第一天的常數。如果沒有指定,則默認為星期日。有關數值,請參閱「設置」部分。
firstweekofyear: 可選。指定一年中第一周的常數。如果沒有指定,則默認為 1 月 1 日所在的星期。有關數值,請參閱「設置」部分。
interval 參數可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日數) 、d (日) 、w (一周的日數) 、ww (周) 、h (小時) 、n (分鍾) 、s (秒)
firstdayofweek 參數可以有以下值:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbSunday 1 星期日(默認)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 參數可以有以下值:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbFirstJan1 1 由 1 月 1 日所在的星期開始(默認)。
vbFirstFourDays 2 由在新年中至少有四天的第一周開始。
vbFirstFullWeek 3 由在新的一年中第一個完整的周開始。
說明DateDiff 函數用於判斷在兩個日期之間存在的指定時間間隔的數目。例如可以使用 DateDiff 計算兩個日期相差的天數,或者當天到當年最後一天之間的星期數。
要計算 date1 和 date2 相差的天數,可以使用「一年的日數」(「y」)或「日」(「d」)。當 interval為「一周的日數」(「w」)時,DateDiff 返回兩個日期之間的星期數。如果 date1 是星期一,則 DateDiff 計算到 date2之前星期一的數目。此結果包含 date2 而不包含 date1。如果 interval 是「周」(「ww」),則 DateDiff函數返回日歷表中兩個日期之間的星期數。函數計算 date1 和 date2 之間星期日的數目。如果 date2 是星期日,DateDiff將計算 date2,但即使 date1 是星期日,也不會計算 date1。
如果 date1 晚於 date2,則 DateDiff 函數返回負數。
firstdayofweek 參數會對使用「w」和「ww」間隔符號的計算產生影響。
如果 date1 或 date2 是日期文字,則指定的年度會成為日期的固定部分。但是如果 date1 或 date2 被包括在引號 (" ")中並且省略年份,則在代碼中每次計算 date1 或 date2 表達式時,將插入當前年份。這樣就可以編寫適用於不同年份的程序代碼。
在 interval 為「年」(「yyyy」)時,比較 12 月 31 日和來年的 1 月 1 日,雖然實際上只相差一天,DateDiff 返回 1 表示相差一個年份。

DatePart 函數
描述:返回給定日期的指定部分。
語法DatePart(interval, date[, firstdayofweek[, firstweekofyear> )
DatePart: 函數的語法有以下參數:
interval: 必選。字元串表達式,表示要返回的時間間隔。有關數值,請參閱「設置」部分。
date: 必選。要計算的日期表達式。
firstdayof week: 可選。指定星期中的第一天的常數。如果沒有指定,則默認為星期日。有關數值,請參閱「設置」部分。
firstweekofyear: 可選。指定一年中第一周的常數。如果沒有指定,則默認為 1 月 1 日所在的星期。有關數值,請參閱「設置」部分。
interval 參數可以有以下值:
yyyy (年) 、q (季度) 、m (月) 、y (一年的日數) 、d (日) 、w (一周的日數) 、ww (周) 、h (小時) 、n (分鍾) 、s (秒)
firstdayofweek 參數可以有以下值:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbSunday 1 星期日(默認)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
firstweekofyear 參數可以有以下值:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbFirstJan1 1 由 1 月 1 日所在的星期開始(默認)。
vbFirstFourDays 2 由在新年中至少有四天的第一周開始。
vbFirstFullWeek 3 由在新的一年中第一個完整的周(不跨年度)開始。
說明DatePart 函數用於計算日期並返回指定的時間間隔。例如使用 DatePart 計算某一天是星期幾或當前的時間。
firstdayofweek 參數會影響使用「w」和「ww」間隔符號的計算。
如果 date 是日期文字,則指定的年度會成為日期的固定部分。但是如果 date 被包含在引號 (" ") 中,並且省略年份,則在代碼中每次計算 date 表達式時,將插入當前年份。這樣就可以編寫適用於不同年份的程序代碼。
DateSerial 函數
描述:對於指定的年、月、日,返回 Date 子類型的 Variant。
語法DateSerial(year, month, day)
year: 從 100 到 9999 之間的數字或數值表達式。
month: 任意數值表達式。
day: 任意數值表達式。
說明:要指定日期,如 1991 年 12 月 31 日,DateSerial 函數中每個參數的取值范圍都應該是可接受的;即日的取值應在 1 和31 之間,月的取值應在 1 和 12 之間。但是,也可以使用表示某日之前或之後的年、月、日數目的數值表達式為每個參數指定相對日期。
以下樣例中使用了數值表達式代替絕對日期。在這里,DateSerial 函數返回 1990 年 8 月 1 日之前十年 (1990 - 10) 零兩個月 (8 - 2) 又一天 (1 - 1) 的日期:即 1980 年 5 月 31 日。
DateSerial(1990 - 10, 8 - 2, 1 - 1)
對於 year 參數,若取值范圍是從 0 到 99,則被解釋為 1900 到 1999 年。對於此范圍之外的 year 參數,則使用四位數字表示年份(例如 1800 年)。
當任何一個參數的取值超出可接受的范圍時,則會適當地進位到下一個較大的時間單位。例如,如果指定了 35天,則這個天數被解釋成一個月加上多出來的日數,多出來的日數取決於其年份和月份。但是如果參數值超出 -32,768 到 32,767的范圍,或者由三個參數指定(無論是直接還是通過表達式指定)的日期超出了可以接受的日期范圍,就會發生錯誤。

Datevalue 函數
描述:返回 Date 子類型的 Variant。
語法datevalue(date)
date 參數應是字元串表達式,表示從 100 年 1 月 1 日到 9999 年 12 月 31 日中的一個日期。但是,date 也可以是表示上述范圍內的日期、時間或日期時間混合的任意表達式。
說明:如果 date 參數包含時間信息,則 Datevalue 不會返回時間信息。但是如果 date 包含無效的時間信息(如 "89:98"),就會出現錯誤。
如果 date 是某一字元串,其中僅包含由有效的日期分隔符分隔開的數字,則 Datevalue將會根據為系統指定的短日期格式識別月、日和年的順序。Datevalue還會識別包含月份名稱(無論是全名還是縮寫)的明確日期。例如,除了能夠識別 12/30/1991 和 12/30/91 之外,Datevalue還能識別 December 30, 1991 和 Dec 30, 1991。
如果省略了 date 的年份部分,Datevalue 將使用計算機系統日期中的當前年份。

Day 函數
描述:返回 1 到 31 之間的一個整數(包括 1 和31),代表某月中的一天。
語法Day(date)
date 參數是任意可以代表日期的表達式。如果 date 參數中包含 Null,則返回 Null。

FormatDateTime 函數
描述:返回表達式,此表達式已被格式化為日期或時間。
語法:FormatDateTime(Date[,NamedFormat])
Date: 必選。要被格式化的日期表達式。
NamedFormat: 可選。指示所使用的日期/時間格式的數值,如果省略,則使用 vbGeneralDate。
NamedFormat 參數可以有以下值:
(以下分別為:常數 值 描述)
vbGeneralDate 0 顯示日期和/或時間。如果有日期部分,則將該部分顯示為短日期格式。如果有時間部分,則將該部分顯示為長時間格式。如果都存在,則顯示所有部分。
vbLongDate 1 使用計算機區域設置中指定的長日期格式顯示日期。
vbShortDate 2 使用計算機區域設置中指定的短日期格式顯示日期。
vbLongTime 3 使用計算機區域設置中指定的時間格式顯示時間。
vbShortTime 4 使用 24 小時格式 (hh:mm) 顯示時間。

Hour 函數
描述:返回 0 到 23 之間的一個整數(包括 0 和 23),代表一天中的某一小時。
語法:Hour(time)
time 參數是任意可以代表時間的表達式。如果 time 參數中包含 Null,則返回 Null。

Minute 函數
描述:返回 0 到 59 之間的一個整數(包括 0 和59),代表一小時內的某一分鍾。
語法:Minute(time)
time 參數是任意可以代表時間的表達式。如果 time 參數包含 Null,則返回 Null。

Month 函數
描述:返回 1 到 12 之間的一個整數(包括 1 和 12),代表一年中的某月。
語法:Month(date)
date 參數是任意可以代表日期的表達式。如果 date 參數中包含 Null,則返回 Null。

MonthName 函數
描述:返回表明指定月份的字元串。
語法:MonthName(month[, abbreviate])
month: 必選。月份的數值定義。例如,一月是 1,二月是 2,以此類推。
abbreviate: 可選。Boolean 值,表明月份名稱是否簡寫。如果省略,默認值為 False,即不簡寫月份名稱。

Now 函數
描述:根據計算機系統設定的日期和時間返回當前的日期和時間值。
語法:Now

Second 函數
描述:返回 0 到 59 之間的一個整數(包括 1 和 59),代表一分鍾內的某一秒。
語法:Second(time)
time 參數是任意可以代表時間的表達式。如果 time 參數中包含 Null,則返回 Null。

Time 函數
描述:返回 Date 子類型 Variant,指示當前系統時間。
語法:Time

TimeSerial 函數
描述:返回一個 Date 子類型的 Variant,含有指定時、分、秒的時間。
語法:TimeSerial(hour, minute, second)
hour: 其值為從 0 (12:00 A.M.) 到 23 (11:00 P.M.) 的數值或數值表達式。
minute: 任意數值表達式。
second: 任意數值表達式。
說明:要指定一時刻,如 11:59:59,TimeSerial 的參數取值應在可接受的范圍內;也就是說,小時應介於 0-23 之間,分和秒應介於0-59之間。但是,可以使用數值表達式為每個參數指定相對時間,這一表達式代表某時刻之前或之後的時、分或秒數。以下樣例中使用了表達式代替絕對時間數。TimeSerial 函數返回中午之前六小時 (12 - 6) 十五分鍾的時間 (-15),即 5:45:00 A.M.。
TimeSerial(12 - 6, -15, 0)
當任何一個參數的取值超出可接受的范圍時,它會正確地進位到下一個較大的時間單位中。例如,如果指定了 75分鍾,則這個時間被解釋成一小時十五分鍾。但是,如果任何一個參數值超出 -32768 到 32767的范圍,就會導致錯誤。如果使用三個參數直接指定的時間或通過表達式計算出的時間超出可接受的日期范圍,也會導致錯誤。

Timevalue 函數
描述:返回包含時間的 Date 子類型的 Variant。
語法:Timevalue(time)
time參數通常是代表從 0:00:00 (12:00:00 A.M.) 到 23:59:59 (11:59:59 P.M.) 的字元串表達式(包括0:00:00 和 23:59:59)。不過,time 也可以是代表該范圍內任何時間的表達式。如果 time 參數包含 Null,則返回Null。
說明:可以採用 12 或 24 小時時鍾格式輸入時間。例如 "2:24PM" 和 "14:24" 都是有效的 time 參數。
如果 time 參數包含日期信息, Timevalue 函數並不返回日期信息。然而,如果 time 參數包含無效的日期信息,則會出現錯誤。

Weekday 函數
描述:返回代表一星期中某天的整數。
語法:Weekday(date, [firstdayofweek])
date: 可以代表日期的任意表達式。如果 date 參數中包含 Null,則返回 Null。
firstdayofweek: 指定星期中第一天的常數。如果省略,默認使用 vbSunday。
firstdayofweek 參數有如下設置:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbSunday 1 星期日
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六
Weekday 函數返回如下值:
(以下分別為:常數 值 描述)
vbSunday 1 星期日
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

WeekdayName 函數
描述:返回一個字元串,表示星期中指定的某一天。
語法:WeekDayName(weekday, abbreviate, firstdayofweek)
weekday: 必選。星期中某天的數值定義。各天的數值定義取決於 firstdayofweek 參數設置。
abbreviate: 可選。Boolean 值,指明是否縮寫表示星期各天的名稱。如果省略, 默認值為 False,即不縮寫星期各天的名稱。
firstdayofweek: 可選。指明星期第一天的數值。關於數值,請參閱「設置」部分。
firstdayofweek 參數有以下值:
(以下分別為:常數 值 描述)
vbUseSystem 0 使用區域語言支持 (NLS) API 設置。
vbSunday 1 星期日(默認)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

Year 函數
描述:返回一個代表某年的整數。
語法:Year(date)
date 參數是任意可以代表日期的參數。如果 date 參數中包含 Null,則返回 Null

⑤ sql中日期可以表示的最大值,和最小值是

  • 如果類型是「datetime」 數據類型:

最大是9999年12 月31日

最小是1753年1月1日

  • 如果類型是smalldatetime 數據類型

最大值是2079 年 6 月 6 日

最小值是1900 年 1 月 1 日

⑥ sql語句(關於日期)

你用的是 SQL Server 資料庫?

SELECT'年'AS'日期部分',DATEDIFF(yy,'2012-12-21',GETDATE())AS[數值]
UNIONALL
SELECT'季度'AS'日期部分',DATEDIFF(qq,'2012-12-21',GETDATE())AS[數值]
UNIONALL
SELECT'月'AS'日期部分',DATEDIFF(mm,'2012-12-21',GETDATE())AS[數值]
UNIONALL
SELECT'日'AS'日期部分',DATEDIFF(dd,'2012-12-21',GETDATE())AS[數值]
UNIONALL
SELECT'周'AS'日期部分',DATEDIFF(ww,'2012-12-21',GETDATE())AS[數值]
UNIONALL
SELECT'時'AS'日期部分',DATEDIFF(hh,'2012-12-21',GETDATE())AS[數值]
UNIONALL
SELECT'分'AS'日期部分',DATEDIFF(mi,'2012-12-21',GETDATE())AS[數值]
UNIONALL
SELECT'秒'AS'日期部分',DATEDIFF(ss,'2012-12-21',GETDATE())AS[數值]
go

日期部分數值
---------------
年2
季度5
月13
日396
周57
時9513
分570780
秒34246838

(8行受影響)

⑦ SQL語句中條件為日期時間型的查詢表達式怎麼寫

1.直接用字元串可自動轉換為datetime;



2.先轉換為Datetime再與欄位比較。


不知道易語言中字元串連接用什麼符號,如果是加號,這么寫:


臨時記錄集.打開 ("select 日記標題 from 日記表 where 日記日期= #" + 日記日期1 +"# ", #SQL語句)

⑧ 使用sql語句查詢日期的方法

使用sql語句查詢日期的方法

結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。以下是我為大家整理的使用sql語句查詢日期的方法,僅供參考,希望能夠幫助大家。

使用sql語句查詢日期的方法 篇1

使用sql語句查詢日期

select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查詢當天日期在一周年的數據

--查詢當天:

select * from info where DateDiff(dd,datetime,getdate())=0

--查詢24小時內的:

select * from info where DateDiff(hh,datetime,getDate())<=24

--info為表名,datetime為資料庫中的欄位值

--查詢當天:

select * from info where DateDiff(dd,datetime,getdate())=0

--查詢24小時內的:

select * from info where DateDiff(hh,datetime,getDate())<=24 --info為表名,datetime為資料庫中的欄位值

Sql代碼

--查詢當天記錄另類的方法

SELECT *

FROM j_GradeShop

WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')

AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1) ORDER BY GAddTime DESC

--查詢當天記錄另類的方法

SELECT *

FROM j_GradeShop

WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')

AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1) ORDER BY GAddTime DESC

DATEDIFF 函數:

語法:

DATEDIFF ( datepart , startdate , enddate )

備注:enddate 減去 startdate。如果 startdate 晚於 enddate,則返回負值。 如果結果超出整數值范圍,則 DATEDIFF 將產生錯誤。對於毫秒,最大數是 24 天 20 小時 31 分鍾零 23.647 秒。對於秒,最大數是 68 年。

跨分鍾、秒和毫秒等邊界計算的方法使得 DATEDIFF 指定的結果在所有數據類型中均一致。結果是帶正負號的整數值,它等於跨第一個和第二個日期間的

datepart 邊界數。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的'星期數是 1。

可以再MSSQL中測試:

Sql代碼

--兩個時間差剛好是24

--列印的方式

print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

--查詢的方式

print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

--兩個時間差剛好是24

--列印的方式

print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

--查詢的方式

print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

Sql代碼

--本月記錄

SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0

--本周記錄

SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0

--包括本年這些查詢方式是一樣的

--本月記錄

SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0

--本周記錄

SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0

--包括本年這些查詢方式是一樣的

sql server中的時間函數

1. 當前系統日期、時間

select getdate()

2. dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如:向日期加上2天

select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000

3. datediff 返回跨兩個指定日期的日期和時間邊界數。

select datediff(day,'2004-09-01','2004-09-18') --返回:17

4. datepart 返回代表指定日期的指定日期部分的整數。

SELECT DATEPART(month, '2004-10-15') --返回 10

5. datename 返回代表指定日期的指定日期部分的字元串

SELECT datename(weekday, '2004-10-15') --返回:星期五

6. day(), month(),year() --可以與datepart對照一下

select 當前日期=convert(var10),getdate(),120)

,當前時間=convert(var8),getdate(),114)

select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,'2004-10-15')

,今天是周幾=datename(weekday,'2004-10-15')

函數 參數/功能

GetDate( ) 返回系統目前的日期與時間

DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 與date1兩個日期之間的差值 date2-date1

DateAdd (interval,number,date) 以interval指定的方式,加上number之後

的日期

DatePart (interval,date) 返回日期date中,interval指定部分所對應的整數值

DateName (interval,date) 返回日期date中,interval指定部分所對應的字元串名稱

參數 interval的設定值如下:

值 縮 寫(Sql Server) Access 和 ASP 說明

Year Yy yyyy 年 1753 ~ 9999

Quarter Qq q 季 1 ~ 4

Month Mm m 月1 ~ 12

Day of year Dy y 一年的日數,一年中的第幾日 1-366

Day Dd d 日,1-31

Weekday Dw w 一周的日數,一周中的第幾日 1-7

Week Wk ww 周,一年中的第幾周 0 ~ 51

Hour Hh h 時0 ~ 23

Minute Mi n 分鍾0 ~ 59

Second Ss s 秒 0 ~ 59

Millisecond Ms - 毫秒 0 ~ 999

access 和 asp 中用date()和now()取得系統日期時間;其中

DateDiff,DateAdd,DatePart也同是能用於Access和asp中,這些函數的用法也類似

舉例:

1.GetDate() 用於sql server :select GetDate()

2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值為 514592 秒 DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值為 5 天

3.DatePart('w','2005-7-25 22:56:32')返回值為 2 即星期一(周日為1,周六為7)

DatePart('d','2005-7-25 22:56:32')返回值為 25即25號

DatePart('y','2005-7-25 22:56:32')返回值為 206即這一年中第206天 DatePart('yyyy','2005-7-25 22:56:32')返回值為 2005即2005年

使用sql語句查詢日期的方法 篇2

datediff(week,zy_time,getdate())=0 //查詢本周 datediff(month,zy_time,getdate())=0 //查詢本月

本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0

前半年1-6,後半年7-12:select * from table where datepart(mm,C_CALLTIME)/7 = datepart(mm,getdate())/7 1. 當前系統日期、時間 select getdate()

2. dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如:向日期加上2天

select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨兩個指定日期的日期和時間邊界數。

select datediff(day,'2004-09-01','2004-09-18') --返回:17 4. datepart 返回代表指定日期的指定日期部分的整數。 SELECT DATEPART(month, '2004-10-15') --返回 10 5. datename 返回代表指定日期的指定日期部分的字元串 SELECT datename(weekday, '2004-10-15') --返回:星期五 6. day(), month(),year() --可以與datepart對照一下 select 當前日期=convert(var10),getdate(),120) ,當前時間=convert(var8),getdate(),114) select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,'2004-10-15') ,今天是周幾=datename(weekday,'2004-10-15') 函數 GetDate( )

參數/功能

返回系統目前的日期與時間

以interval 指定的方式,返回

DateDiff

date2 與date1兩個日期之間的

(interval,date1,date2)

差值 date2-date1 DateAdd 以interval指定的方式,加上(interval,number,date) number之後的日期

返回日期date中,interval指定

DatePart (interval,date)

部分所對應的整數值 返回日期date中,interval指定

DateName (interval,date)

部分所對應的字元串名稱

參數 interval的設定值如下:

Access 和

縮 寫(Sql Server)

ASP Yy Qq Mm

yyyy q m y d w ww h n s -

值 Year Quarter Month

說明

年 1753 ~ 9999 季 1 ~ 4 月1 ~ 12

一年的日數,一年中的第幾日 1-366 日,1-31

一周的日數,一周中的第幾日 1-7

周,一年中的第幾周 0 ~ 51 時0 ~ 23 分鍾0 ~ 59 秒 0 ~ 59 毫秒 0 ~ 999

Day of year Dy Day Weekday Week Hour Minute Second

Dd Dw Wk Hh Mi Ss

Millisecond Ms

access 和 asp 中用date()和now()取得系統日期時間;其中DateDiff,DateAdd,DatePart也同是能用於Access和asp中,這些函數的用法也類似

舉例:

1.GetDate() 用於sql server :select GetDate()

2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值為 514592 秒 DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值為 5 天

3.DatePart('w','2005-7-25 22:56:32')返回值為 2 即星期一(周日為1,周六為7) DatePart('d','2005-7-25 22:56:32')返回值為 25即25號

DatePart('y','2005-7-25 22:56:32')返回值為 206即這一年中第206天 DatePart('yyyy','2005-7-25 22:56:32')返回值為 2005即2005年 sql 查詢本周本月問題 ---求相差天數

select datediff(day,'2004-01-01',getdate())

--1.一個月第一天的

SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

--2.本周的星期一

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

select dateadd(wk,datediff(wk,0,getdate()),6) --3.一年的第一天

SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

--4.季度的第一天

SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

--5.當天的半夜

SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

--6.上個月的最後一天

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

--7.去年的最後一天

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

--8.本月的最後一天

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

--9.本年的最後一天

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

--10.本月的第一個星期一 select DATEADD(wk,

DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0) --查詢本周注冊人數

select count(*) from [user]

where datediff(week,create_day-1,getdate())=0

--上周注冊人數

select count(*) from [user]

where datediff(week,create_day-1,getdate())=1

--本月注冊人數

select count(*) from [user]

where datediff(month,create_day,getdate())=0

--上月注冊人數

select count(*) from [user]

where datediff(month,create_day,getdate())=1

--如果要效率,這樣寫查詢

--查詢本周注冊人數

where

create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and

create_day<dateadd(day,9-datepart(weekday,getdate()),convert(varchar,getdate(),112))

--上周注冊人數

select count(*) from [user] where

create_day>=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and

create_day<dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))

--本月注冊人數

select count(*) from [user]

where create_day>=dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)) and

create_day<dateadd(month,1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)))

--上月注冊人數

select count(*) from [user] where

create_day>=dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)))

and create_day<dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))

--本周

select count(*) from User

where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())

--上周

select count(*) from User

where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 7

--本月

select count(*) from User

where datepart(mm,create_day) = datepart(mm,getdate()) --上月

where datepart(mm,create_day) = datepart(mm,getdate()) - 1 --本周

select count(*) from [User]

where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())

--上周

select count(*) from [User]

where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 7

--本月

select count(*) from [User]

where datepart(mm,create_day) = datepart(mm,getdate()) --上月

select count(*) from [User]

where datepart(mm,create_day) = datepart(mm,getdate()) - 1 學習

month(create_day)=month(getdate())本月 month(create_day)=month(getdate())-1 上月

補充 查詢今日所有的

SELECT * from feedback WHERE (DATEDIFF(d,fedtime,GETDATE())=0) ORDER BY fedid DESC

;

⑨ sql中日期函數的用法

1.DateAdd ( I , N , D )
將一個日期加上一段期間後的日期。 I :設定一個日期( Date )所加上的一段期間的單位。譬如 interval="d" 表示 N的單位為日。 I的設定值如下:
yyyy Year 年
q Quarter 季
m Month 月
d Day 日
w Weekday 星期
h Hour 時
n Minute 分
s Second 秒
N :數值表達式,設定一個日期所加上的一段期間,可為正值或負值,正值表示加(結果為 >date 以後的日期),負值表示減(結果為 >date 以前的日期)。
D :待加減的日期。
例子: DateAdd ( "m" , 1 , "31-Jan-98")
結果: 28-Feb-98
說明:將日期 31-Jan-98 加上一個月,結果為 28-Feb-98 而非 31-Fe-98 。
例子: DateAdd ( "d" , 20 , "30-Jan-99")
結果: 1999/2/9
說明:將一個日期 30-Jan-99 加上 20 天後的日期。

2.Day( 日期的字元串或表達式 )
傳回日期的「日」部份。
例子: Day(" 12/1/1999 ")
結果: 1

3.DateDiff (I , D1 , D2[,FW[,FY]])
計算兩個日期之間的期間。
I :設定兩個日期之間的期間計算之單位。譬如 >I="m" 表示計算的單位為月。 >I 的設定值如:
yyyy > Year 年
q Quarter 季
m Month 月
d Day 日
w Weekday 星期
h Hour 時
n Minute 分
s Second 秒
D1 ,D2:計算期間的兩個日期表達式,若 >date1 較早,則兩個日期之間的期間結果為正值;若 >date2 較早, 則結果為負值。
FW :設定每周第一天為星期幾, 若未設定表示為星期天。 >FW 的設定值如下:
0 使用 >API 的設定值。
1 星期天
2 星期一
3 星期二
4 星期三
5 星期四
6 星期五
7 星期六
FY :設定一年的第一周, 若未設定則表示一月一日那一周為一年的第一周。 >FY 的設定值如下:
0 使用 >API 的設定值。
1 一月一日那一周為一年的第一周
2 至少包括四天的第一周為一年的第一周
3 包括七天的第一周為一年的第一周
例子: DateDiff ("d","25-Mar-99 ","30-Jun-99 ")
結果: 97
說明:顯示兩個日期之間的期間為 97 天

想查詢2007年2月9日的付款流水有單筆交易出現多張小票號的情況的小票號
這個要看一下你的表結構是什麼樣的啊?

⑩ 編輯sql語句時,年月日型時間欄位如何表達

其實時間欄位的標准數據類型是用date(oracle)、datetime(sqlserver)等

當要使用年月日時,可以用系統自帶的一些函數來截取你想要的時間,至於這些函數在不同的平台下是有些不同的,網路一下「SQL時間函數」的網路裡面可以找到詳細的解答