>php教程 >PHP开发 >SQL Server 변환 DateTime 형식 변환

SQL Server 변환 DateTime 형식 변환

高洛峰
高洛峰원래의
2016-12-14 13:32:081301검색

sqlserver 테이블의 [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)

  현재 날짜를 가져와서 변환을 사용하세요. 필요한 날짜/시간 형식으로 변환합니다.

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

 20040912

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

 CONVERT(varchar( 12) , getdate(), 102 ) 선택

 2004.09.12

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

 CONVERT(varchar(12), getdate( ), 101 ) 선택

 09/12/2004

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

 CONVERT(varchar(12), getdate(), 103 ) 선택

 12/09/2004

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

 CONVERT(varchar(12), getdate(), 104) 선택

 12.09.2004

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

 CONVERT(varchar(12), getdate(), 105) 선택

 12 -09-2004

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

 변환 선택 (varchar(12), getdate(), 106)

 12 09 2004

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

 변환(varchar)을 선택하세요. (12) , getdate(), 107 )

 09 12, 2004

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

CONVERT(varchar(12) , getdate 선택) (), 108 )

11:06:08

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

CONVERT(varchar(12) , getdate(), 선택) 109 )

09 12 2004 1

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

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

2004-09-12

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

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

선택

 12 09 2004 1

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

 CONVERT(varchar(12), getdate(), 114) 선택

 11:06:08.177

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

@dateTime 선언 DateTime--날짜/시간 변수 정의

@ 설정 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(연도,@dateTime)+N'연도'+CAST(DATEPART(월,@dateTime) AS varchar )+N'월'+DATENAME(일,@dateTime)+ N'day'

 --완전한 날짜 + 시간 형식: 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(월,DATEPART(분기,@dt)*3-월(@dt),@dt),120)

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

THEN '31'ELSE '30' END)

--C. 분기의 마지막 날(직접 계산 방식)

SELECT DATEADD( 일,- 1,CONVERT(char(8),DATEADD(월,1+DATEPART(분기,@dt)*3-월(@dt),@dt),120)+'1')

 -- 3. 지정한 날짜가 있는 달의 1일 또는 말일

 --A. 해당 달의 1일

 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(@dt),@dt))

 --4. 지정한 날짜가 있는 요일

SELECT DATEADD(일,@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으로 문의하세요.