ホームページ  >  記事  >  php教程  >  SQL Server Convert DateTime 形式の変換

SQL Server Convert DateTime 形式の変換

高洛峰
高洛峰オリジナル
2016-12-14 13:32:081272ブラウズ

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

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

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

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

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 )

2004 12 09 1

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

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

11:06:08.177

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

declare @dateTime DateTime -- 日時変数を定義します

set @dateTime =getdate(); -- 現在のシステム時間を取得し、@dateTime フィールドに割り当てます

-- 短い日付形式: yyyy-m-d

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

--長い日付形式: yyyy year mm month dd day

SELECT STUFF (STUFF(CONVERT(char(8),@dateTime,112),5,0,N'year') ,8,0,N'month')+N'day'

--長い日付形式: yyyy 年m月d日

SELECT DATENAME(年,@dateTime)+N'年'+CAST(DATEPART(Month ,@dateTime) AS varchar)+N'month'+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 ; ある日または最終日

--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. 指定された日付が存在する月の最初または最後の日

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.日曜日は週の最初の日です

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

--B.月曜日は週の最初の日です

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


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。