SQL Server Convert DateTime格式的轉換

來源:互聯網
上載者:User

convert(,,120)100 或者 0 mon dd yyyy hh:miAM (或者 PM) 101 mm/dd/yy 102 yy.mm.dd 103 dd/mm/yy 104 dd.mm.yy 105 dd-mm-yy 106 dd mon yy 107 Mon dd, yy 108 hh:mm:ss 109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM) 110 mm-dd-yy 111 yy/mm/dd 112 yymmdd 113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h) 114 hh:mi:ss:mmm(24h) 120 或者 20 yyyy-mm-dd hh:mi:ss(24h) 121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h) 126 yyyy-mm-ddThh:mm:ss.mmm(沒有空格) 130 dd mon yyyy hh:mi:ss:mmmAM 131 

 

 

第1頁 SQL Server Convert DateTime格式的轉換

將sqlserver中table表的[datetime]欄位值‘2011-11-07 16:41:35.033’ 改為‘2011-11-07 00:00:00‘去除了時分秒.[datetime]欄位要為datetime類型的哦. UPDATE table SET [datetime]= Convert(char(11),[datetime],120)

擷取當前日期利用 convert 來轉換成我們需要的datetime格式.

select CONVERT(varchar(12) , getdate(), 112 )

20040912

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 102 )

2004.09.12

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 101 )

09/12/2004

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 103 )

12/09/2004

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 104 )

12.09.2004

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 105 )

12-09-2004

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 106 )

12 09 2004

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 107 )

09 12, 2004

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 108 )

11:06:08

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 109 )

09 12 2004 1

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 110 )

09-12-2004

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 113 )

12 09 2004 1

------------------------------------------------------------

select CONVERT(varchar(12) , getdate(), 114 )

11:06:08.177

------------------------------------------------------------

declare @dateTime DateTime--定義一個datetime的變數

set @dateTime=getdate(); --擷取系統目前時間,並賦值給@dateTime欄位

--短日期格式:yyyy-m-d

SELECT REPLACE(CONVERT(varchar(10),@dateTime,120),N'-0','-')

--長日期格式:yyyy年mm月dd日

SELECT STUFF(STUFF(CONVERT(char(8),@dateTime,112),5,0,N'年'),8,0,N'月')+N'日'

--長日期格式:yyyy年m月d日

SELECT DATENAME(Year,@dateTime)+N'年'+CAST(DATEPART(Month,@dateTime) AS varchar)+N'月'+DATENAME(Day,@dateTime)+N'日'

--完整日期+時間格式:yyyy-mm-dd hh:mi:ss:mmm

SELECT CONVERT(char(11),@dateTime,120)+CONVERT(char(12),@dateTime,114)

------------------------------------------------------------------------------------------------

2、日期推算處理

DECLARE @dt datetime

SET @dt=GETDATE()

DECLARE @number int

SET @number=3

--1.指定日期該年的第一天或最後一天

--A. 年的第一天

SELECT CONVERT(char(5),@dt,120)+'1-1'

--B. 年的最後一天

SELECT CONVERT(char(5),@dt,120)+'12-31'

--2.指定日期所在季度的第一天或最後一天

--A. 季度的第一天

SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,@dt)*3-Month(@dt)-2,@dt),120)+'1')

--B. 季度的最後一天(CASE判斷法)

SELECT CONVERT(datetime,CONVERT(char(8),DATEADD(Month,DATEPART(Quarter,@dt)*3-Month(@dt),@dt),120)

+CASE WHEN DATEPART(Quarter,@dt) in(1,4)

THEN '31'ELSE '30' END)

--C. 季度的最後一天(直接推演算法)

SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1+DATEPART(Quarter,@dt)*3-Month(@dt),@dt),120)+'1')

--3.指定日期所在月份的第一天或最後一天

--A. 月的第一天

SELECT CONVERT(datetime,CONVERT(char(8),@dt,120)+'1')

--B. 月的最後一天

SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@dt),120)+'1')

--C. 月的最後一天(容易使用的錯誤方法)

SELECT DATEADD(Month,1,DATEADD(Day,-DAY(@dt),@dt))

--4.指定日期所在周的任意一天

SELECT DATEADD(Day,@number-DATEPART(Weekday,@dt),@dt)

--5.指定日期所在周的任意星期幾

--A. 星期天做為一周的第1天

SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+DATEFIRST-1)%7,@dt)

--B. 星期一做為一周的第1天

SELECT DATEADD(Day,@number-(DATEPART(Weekday,@dt)+DATEFIRST-2)%7-1,@dt) (本文來源:天極網 )

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.