Ⅰ sql中如何獲得時間的時,分,秒部分
假設時間欄位為orderdate,可以使用如下語句:
select convert(nvarchar(12),orderdate,108) from tablename
108可以得到你要的時間,想要得到毫秒,可以使用114
Ⅱ sql日期比較大小
要用SQL來比較日期大小可使用 DATEDIFF 函數 [日期和時間],該函數的功能:返回兩個日期之間的間隔。
語法: DATEDIFF ( date-part, date-expression-1, date-expression-2 )
date-part : year | quarter | month | week | day | hour | minute | second | millisecond
參數 date-part 指定要測量其間隔的日期部分。
有關日期部分的詳細信息,請參見日期部分。
date-expression-1 某一間隔的起始日期。從 date-expression-2 中減去該值,返回兩個參數之間 date-parts 的天數。
date-expression-2 某一間隔的結束日期。從該值中減去 Date-expression-1,返回兩個參數之間 date-parts 的天數。
用法 此函數計算兩個指定日期之間日期部分的數目。結果為日期部分中等於(date2 - date1)的有符號的整數值。
當結果不是日期部分的偶數倍時,DATEDIFF 將被截斷而不是被舍入。
當使用 day 作為日期部分時,DATEDIFF 返回兩個指定的時間之間(包括第二個日期但不包括第一個日期)的午夜數。
當使用 month 作為日期部分時,DATEDIFF 返回兩個日期之間(包括第二個日期但不包括第一個日期)出現的月的第一天的數目。
當使用 week 作為日期部分時,DATEDIFF 返回兩個日期(包括第二個日期但不包括第一個日期)之間星期日的數目。
對於更小的時間單位存在溢出值:
milliseconds 24 天
seconds 68 年
minutes 4083 年
others 沒有溢出限制
如果超出這些限制,此函數將返回溢出錯誤。
標准和兼容性 SQL/92 Transact-SQL 擴展。
SQL/99 Transact-SQL 擴展。
Sybase 與 Adaptive Server Enterprise 兼容。
下面示例的語句返回 1: SELECT datediff( hour, '4:00AM', '5:50AM' )
下面的語句返回 102: SELECT datediff( month, '1987/05/02', '1995/11/15' )
下面的語句返回 0: SELECT datediff( day, '00:00', '23:59' )
下面的語句返回 4: SELECT datediff( day,'1999/07/19 00:00','1999/07/23 23:59' )
下面的語句返回 0: SELECT datediff( month, '1999/07/19', '1999/07/23' )
下面的語句返回 1: SELECT datediff( month, '1999/07/19', '1999/08/23' )
Ⅲ 請教高手列舉出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如何按日期中的月份查詢
sql按日期中的月份查詢如下:
SQL Server
select * from [data] where DATEPART(m,[date])=2
Access
select * from [data] where DATEPART('m',[date])=2
說明:
DATEPART(datepart,date)
返回表示指定日期的指定部分的整數
datepart 要取得的日期部分
- m 表示月份,d表示日,yyyy表示年
date 日期表達式
舉例:
--以2013-12-10 12:56:55為例
--convert(nvarchar(10),CreateDate,120) => 2013-12-10
--DATEPART(month,CreateDate) => 12
--DATEPART(year,CreateDate) => 2013
--月
select datepart(MONTH,'2013-06-08')
select datepart(mm,'2013-06-08')
select datepart(m,'2013-06-08')
(4)sql里的second擴展閱讀:
相關函數
SQL Aggregate 函數
SQL Aggregate 函數計算從列中取得的值,返回一個單一的值。
有用的 Aggregate 函數:
AVG() - 返回平均值
COUNT() - 返回行數
FIRST() - 返回第一個記錄的值
LAST() - 返回最後一個記錄的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回總和
SQL Scalar 函數
SQL Scalar 函數基於輸入值,返回一個單一的值。
有用的 Scalar 函數:
UCASE() - 將某個欄位轉換為大寫
LCASE() - 將某個欄位轉換為小寫
MID() - 從某個文本欄位提取字元
LEN() - 返回某個文本欄位的長度
ROUND() - 對某個數值欄位進行指定小數位數的四捨五入
NOW() - 返回當前的系統日期和時間
Ⅳ sql server 裡面 如何讓 2001 (int)和 Second (nvarvhar)相加
是要將兩個串聯起來吧
second+cast(2001 as varchar) //串聯成字元串,second為欄位名,若為記錄,則添加單引號
至於說串成int型,那是肯定不行滴
Ⅵ sql語句日期時間函數
可以將vs_date 使用時間函數 加上20個小時 和 37個小時 就可以了
然後使用between and 作為查詢條件
如:
numtodsinterval函數 numtodsinterval(20,'HOUR')
還是使用numtodsinterval函數 參數second ,將vs_date截取到日期 ,在應用這個函數 構造開始和結束
就可以了
Ⅶ sql 語句中如何比較當前時間與指定時間是否相同
代碼的思路:
兩個時間的相差的秒數,當等於0時,說明兩日期相同。
getdate()表示獲取當前系統時間
sql 語句中比較當前時間與指定時間是否相同參考代碼如下:
select datediff(second,'2012-12-15 16:54:00',getdate())
(7)sql里的second擴展閱讀:
GETDATE() 函數從 SQL Server 返回當前的時間和日期。
語法:GETDATE()
實例如下
使用下面的 SELECT 語句:
SELECT GETDATE() AS CurrentDateTime
結果:
CurrentDateTime
2008-12-29 16:25:46.635
注釋:上面的時間部分精確到毫秒。
Ⅷ Sql 中日期類型怎麼加上兩個小時
dateadd函數
比如返回當前時間加2小時 SELECT DATEADD(hour,2, getdate())
dateadd(參數1,參數2,日期)
參數1為datepart
縮寫
year
yy,yyyy
quarter
qq,q
month
mm,m
dayofyear
dy,y
day
dd,d
week
wk,ww
weekday
dw,w
hour
hh
minute
mi,n
second
ss,s
millisecond
ms
microsecond
mcs
nanosecond
ns
參數2為你想加的數值