首頁 > php教程 > PHP开发 > 主體

SQL Server Convert DateTime格式的轉換

高洛峰
發布: 2016-12-14 13:32:08
原創
1271 人瀏覽過

 將sqlserver中table表的[datetime]字段值'2011-11-07 16:41:35.033' 改為'2011-11-07 00:00:00'去除了時分秒.[datetime]字段要為datetime字段型式的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),NNN 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 int

  SET @number=3

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

  --A. 年的第一天

   SELECT,12120,207( )+'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)-3-Month(@dt)*3-Month(@dt)*3-Month(@dt)*3-Month(@dt)*3-Month(@dt)*3-Month(@dt) 2,@dt),120)+'1')

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

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

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

  THEN '31'ELSE '30' END)

  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(date,CONVERVERTT(T) char(8),@dt,120)+'1')

  --B. 月的最後一天

  SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,11,@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)


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板