SQLSERVER 時(shí)間格式大全
更新時(shí)間:2010年05月07日 22:53:16 作者:
最近在寫程序的過(guò)程中有遇到SQL SERVER時(shí)間格式的問(wèn)題,一時(shí)想不起來(lái),上網(wǎng)搜索了一下,這方面的資料還真不少,找了一個(gè)比較全面的。
具體的網(wǎng)址倒是沒(méi)保存,可是我這個(gè)人習(xí)慣把好的代碼記起方法保存下來(lái),現(xiàn)在貼出來(lái),希望原作者體諒。
---上個(gè)月月初第一天
select CONVERT(varchar(12) , DATEADD(mm,DATEDIFF(mm,0,dateadd(mm,-1,getdate())),0), 112 )
---上個(gè)月月末最后一天
select CONVERT(varchar(12),dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate()),0)), 112 )
--1. 顯示本月第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
select convert(datetime,convert(varchar(8),getdate(),120)+'01',120)
--2. 顯示本月最后一天
select dateadd(day,-1,convert(datetime,convert(varchar(8),dateadd(month,1,getdate()),120)+'01',120))
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))
--3. 上個(gè)月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
--4. 本月的第一個(gè)星期一
select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())),0)
--5. 本年的第一天
SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)
--6. 本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))
--7. 去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))
--8. 本季度的第一天
SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)
--9. 本周的星期一
SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)
--10. 查詢本月的記錄
select * from tableName where DATEPART(mm, theDate)=DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
--11. 查詢本周的記錄
select * from tableName where DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
--12 查詢本季的記錄 注:其中:GETDATE() 是獲得系統(tǒng)時(shí)間的函數(shù)。
select * from tableName where DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
--13. 獲取當(dāng)月總天數(shù):
select DATEDIFF(dd,getdate(),DATEADD(mm, 1, getdate()))
select datediff(day,dateadd(mm, datediff(mm,'',getdate()), ''),dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))
--14. 獲取當(dāng)前為星期幾
SELECT DATENAME(weekday, getdate())
select CONVERT(varchar(12) , getdate(), 101 ) --12/28/2007
select CONVERT(varchar(12) , getdate(), 102 ) --2007.12.28
select CONVERT(varchar(12) , getdate(), 103 ) --28/12/2007
select CONVERT(varchar(12) , getdate(), 104 ) --28.12.2007
select CONVERT(varchar(12) , getdate(), 105 ) --28-12-2007
select CONVERT(varchar(12) , getdate(), 106 ) --28 12 2007
select CONVERT(varchar(12) , getdate(), 107 ) --12 28, 2007
select CONVERT(varchar(12) , getdate(), 108 ) --10:06:33
select CONVERT(varchar(12) , getdate(), 109 ) --12 28 2007 1
select CONVERT(varchar(12) , getdate(), 110 ) --12-28-2007
select CONVERT(varchar(12) , getdate(), 111 ) --2007/12/28
select CONVERT(varchar(12) , getdate(), 112 ) --20071228
select CONVERT(varchar(12) , getdate(), 113 ) --28 12 2007 1
select CONVERT(varchar(12) , getdate(), 114 ) --10:07:36:623
select CONVERT(varchar, getdate(), 120 ) --2007-12-28 10:08:56
select CONVERT(varchar(10), getdate(), 120 ) --2007-12-28
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') --20071228101012
復(fù)制代碼 代碼如下:
---上個(gè)月月初第一天
select CONVERT(varchar(12) , DATEADD(mm,DATEDIFF(mm,0,dateadd(mm,-1,getdate())),0), 112 )
---上個(gè)月月末最后一天
select CONVERT(varchar(12),dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate()),0)), 112 )
--1. 顯示本月第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
select convert(datetime,convert(varchar(8),getdate(),120)+'01',120)
--2. 顯示本月最后一天
select dateadd(day,-1,convert(datetime,convert(varchar(8),dateadd(month,1,getdate()),120)+'01',120))
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))
--3. 上個(gè)月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
--4. 本月的第一個(gè)星期一
select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())),0)
--5. 本年的第一天
SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)
--6. 本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))
--7. 去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))
--8. 本季度的第一天
SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)
--9. 本周的星期一
SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0)
--10. 查詢本月的記錄
select * from tableName where DATEPART(mm, theDate)=DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
--11. 查詢本周的記錄
select * from tableName where DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
--12 查詢本季的記錄 注:其中:GETDATE() 是獲得系統(tǒng)時(shí)間的函數(shù)。
select * from tableName where DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE())
--13. 獲取當(dāng)月總天數(shù):
select DATEDIFF(dd,getdate(),DATEADD(mm, 1, getdate()))
select datediff(day,dateadd(mm, datediff(mm,'',getdate()), ''),dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))
--14. 獲取當(dāng)前為星期幾
SELECT DATENAME(weekday, getdate())
select CONVERT(varchar(12) , getdate(), 101 ) --12/28/2007
select CONVERT(varchar(12) , getdate(), 102 ) --2007.12.28
select CONVERT(varchar(12) , getdate(), 103 ) --28/12/2007
select CONVERT(varchar(12) , getdate(), 104 ) --28.12.2007
select CONVERT(varchar(12) , getdate(), 105 ) --28-12-2007
select CONVERT(varchar(12) , getdate(), 106 ) --28 12 2007
select CONVERT(varchar(12) , getdate(), 107 ) --12 28, 2007
select CONVERT(varchar(12) , getdate(), 108 ) --10:06:33
select CONVERT(varchar(12) , getdate(), 109 ) --12 28 2007 1
select CONVERT(varchar(12) , getdate(), 110 ) --12-28-2007
select CONVERT(varchar(12) , getdate(), 111 ) --2007/12/28
select CONVERT(varchar(12) , getdate(), 112 ) --20071228
select CONVERT(varchar(12) , getdate(), 113 ) --28 12 2007 1
select CONVERT(varchar(12) , getdate(), 114 ) --10:07:36:623
select CONVERT(varchar, getdate(), 120 ) --2007-12-28 10:08:56
select CONVERT(varchar(10), getdate(), 120 ) --2007-12-28
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','') --20071228101012
相關(guān)文章
sqlserver添加sa用戶和密碼的實(shí)現(xiàn)
這篇文章主要介紹了sqlserver添加sa用戶和密碼的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
SQL處理多級(jí)分類,查詢結(jié)果呈樹形結(jié)構(gòu)
對(duì)于多級(jí)分類常規(guī)的處理方法,很多程序員可能是用程序先讀取一級(jí)分類記錄,然后通過(guò)一級(jí)分類循環(huán)讀取下面的子分類2012-08-08
SQLite3數(shù)據(jù)庫(kù)的介紹和使用教程(面向業(yè)務(wù)編程-數(shù)據(jù)庫(kù))
這篇文章主要介紹了SQLite3數(shù)據(jù)庫(kù)的介紹和使用(面向業(yè)務(wù)編程-數(shù)據(jù)庫(kù)),本文從SQLite3的庫(kù)的獲取、工程管理、SQL語(yǔ)句介紹、C語(yǔ)言編程四個(gè)角度闡述了SQLite3數(shù)據(jù)庫(kù)的實(shí)際應(yīng)用,需要的朋友可以參考下2023-05-05
sql拆分字符串實(shí)現(xiàn)一行變多行的實(shí)例代碼
本文主要介紹了sql拆分字符串實(shí)現(xiàn)一行變多行的實(shí)例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09
SQL中LIKE和REGEXP簡(jiǎn)單對(duì)比分析
這篇文章主要介紹了SQL中LIKE和REGEXP簡(jiǎn)單對(duì)比,在MySQL中,LIKE和REGEXP都可以用于模式匹配,但是它們的語(yǔ)法、性能和應(yīng)用場(chǎng)景有所不同,通常來(lái)說(shuō),在簡(jiǎn)單的字符串模糊匹配場(chǎng)景下,使用LIKE更加高效;而在需要更復(fù)雜的模式匹配時(shí),使用REGEXP更加靈活2023-09-09

