'2006-09-08 오전 12:20:23' 형식 datetime 으로 바꾸기
asp 나 다른 어플리케이션에서 datetime 형식을 형변형 없이 select 하게 되면 '2006-09-08 오전 12:20:23' 같은 형태
로 나옵니다. 이것을 datetime 으로 convert 할때 일반적인 convert 를 하게 되면 오류가 발생하게됩니다.
select convert(datetime,'2006-09-08 오전 12:20:23')
-----------------------
메시지 241, 수준 16, 상태 1, 줄 1
문자열을 datetime으로 변환하지 못했습니다.
이는 SQLServer에서 지원하는 시간형식이 아니기 때문입니다. 다음과 같이 변형을 시켜주면 datetime으로 변형이 가
능합니다. 또한 오전,오후의 정의는 오전 12시 와 오후 12시 어떤게 정오인가 하는 문제는 아래의 BOL에 정의를 따르
면 됩니다.
declare @t varchar(50)
set @t = '2006-09-08 오전 12:20:23'
select convert(datetime,
left(@t,charindex(' ',@t,1)-1)
+ ' '
+ right(@t,charindex(' ',reverse(@t),1)-1)
+ case when charindex('오전',@t,1) > 0 then 'AM'
else 'PM'
end
)
-----------------------
2006-09-08 09:20:23.000
(1개 행 적용됨)
다음은 BOL의 시간 형식에 대한 정의 입니다.
시간 형식
Microsoft? SQL Server™ 2000은 다음과 같은 시간 데이터 형식을 인식합니다. 각 형식을 작은따옴표(')로 묶으십시
오.
14:30
14:30[:20:999]
14:30[:20.9]
4am
4 PM
[0]4[:30:20:500]AM
AM 또는 PM 접미사를 지정하여 시간 값이 정오 12시 이전인지 이후인지를 나타낼 수 있습니다. AM 또는 PM의 대소
문자는 구분하지 않습니다.
시간은 12시간제 또는 24시간제로 지정할 수 있습니다. 다음은 시간 값을 해석하는 방법입니다.
시간 값 0은 AM 지정 여부에 관계 없이 오전(AM)을 나타냅니다. 시간 값 0을 사용할 때는 PM을 지정할 수 없습니다.
1부터 11까지의 시간 값은 AM 또는 PM을 지정하지 않아도 오전을 나타냅니다. 또한 AM을 지정하면 오전을 나타내
고 PM을 지정하면 오후를 나타냅니다.
시간 값 12는 AM 또는 PM을 지정하지 않는 경우 정오 이후의 시간을 나타냅니다. AM을 지정하면 자정 이후의 시간
을 나타내고 PM을 지정하면 정오 이후의 시간을 나타냅니다. 예를 들어, 12:01과 12:01 PM은 정오에서 1분 지난 시간
이고, 12:01 AM은 자정에서 1분 지난 시간입니다. 12:01 AM을 지정하면 00:01 또는 00:01 AM과 같습니다.
13부터 23까지의 시간 값은 AM 또는 PM을 지정하지 않는 경우 정오 이후의 시간을 나타냅니다. 또한 PM을 지정해
도 정오 이후의 시간을 나타냅니다. 13부터 23까지의 시간 값을 사용할 때는 AM을 지정할 수 없습니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:27:00 MySQL에서 이동 됨]</div>
로 나옵니다. 이것을 datetime 으로 convert 할때 일반적인 convert 를 하게 되면 오류가 발생하게됩니다.
select convert(datetime,'2006-09-08 오전 12:20:23')
-----------------------
메시지 241, 수준 16, 상태 1, 줄 1
문자열을 datetime으로 변환하지 못했습니다.
이는 SQLServer에서 지원하는 시간형식이 아니기 때문입니다. 다음과 같이 변형을 시켜주면 datetime으로 변형이 가
능합니다. 또한 오전,오후의 정의는 오전 12시 와 오후 12시 어떤게 정오인가 하는 문제는 아래의 BOL에 정의를 따르
면 됩니다.
declare @t varchar(50)
set @t = '2006-09-08 오전 12:20:23'
select convert(datetime,
left(@t,charindex(' ',@t,1)-1)
+ ' '
+ right(@t,charindex(' ',reverse(@t),1)-1)
+ case when charindex('오전',@t,1) > 0 then 'AM'
else 'PM'
end
)
-----------------------
2006-09-08 09:20:23.000
(1개 행 적용됨)
다음은 BOL의 시간 형식에 대한 정의 입니다.
시간 형식
Microsoft? SQL Server™ 2000은 다음과 같은 시간 데이터 형식을 인식합니다. 각 형식을 작은따옴표(')로 묶으십시
오.
14:30
14:30[:20:999]
14:30[:20.9]
4am
4 PM
[0]4[:30:20:500]AM
AM 또는 PM 접미사를 지정하여 시간 값이 정오 12시 이전인지 이후인지를 나타낼 수 있습니다. AM 또는 PM의 대소
문자는 구분하지 않습니다.
시간은 12시간제 또는 24시간제로 지정할 수 있습니다. 다음은 시간 값을 해석하는 방법입니다.
시간 값 0은 AM 지정 여부에 관계 없이 오전(AM)을 나타냅니다. 시간 값 0을 사용할 때는 PM을 지정할 수 없습니다.
1부터 11까지의 시간 값은 AM 또는 PM을 지정하지 않아도 오전을 나타냅니다. 또한 AM을 지정하면 오전을 나타내
고 PM을 지정하면 오후를 나타냅니다.
시간 값 12는 AM 또는 PM을 지정하지 않는 경우 정오 이후의 시간을 나타냅니다. AM을 지정하면 자정 이후의 시간
을 나타내고 PM을 지정하면 정오 이후의 시간을 나타냅니다. 예를 들어, 12:01과 12:01 PM은 정오에서 1분 지난 시간
이고, 12:01 AM은 자정에서 1분 지난 시간입니다. 12:01 AM을 지정하면 00:01 또는 00:01 AM과 같습니다.
13부터 23까지의 시간 값은 AM 또는 PM을 지정하지 않는 경우 정오 이후의 시간을 나타냅니다. 또한 PM을 지정해
도 정오 이후의 시간을 나타냅니다. 13부터 23까지의 시간 값을 사용할 때는 AM을 지정할 수 없습니다.<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:27:00 MySQL에서 이동 됨]</div>
댓글 1개
19년 전
MySQL에 적용할 수 있는 것도 있을까요?
게시판 목록
개발자팁
개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 776 | JavaScript | 19년 전 | 4307 | ||
| 775 | Flash | 19년 전 | 4547 | ||
| 774 | JavaScript | 19년 전 | 2994 | ||
| 773 | 기타 | 19년 전 | 4063 | ||
| 772 | 기타 |
|
19년 전 | 3590 | |
| 771 | Flash |
DeepnBlue
|
19년 전 | 4550 | |
| 770 | 기타 |
pearly
|
19년 전 | 4351 | |
| 769 | JavaScript |
|
19년 전 | 3424 | |
| 768 | JavaScript | 19년 전 | 4389 | ||
| 767 | PHP |
|
19년 전 | 6761 | |
| 766 | 기타 | 19년 전 | 3172 | ||
| 765 | PHP |
|
19년 전 | 6211 | |
| 764 | 기타 |
|
19년 전 | 3467 | |
| 763 | JavaScript | 19년 전 | 3362 | ||
| 762 | Linux |
|
19년 전 | 3313 | |
| 761 | 기타 | 19년 전 | 3130 | ||
| 760 | 기타 |
|
19년 전 | 3542 | |
| 759 | JavaScript | 19년 전 | 3288 | ||
| 758 | JavaScript |
|
19년 전 | 4480 | |
| 757 | 기타 | 19년 전 | 2743 | ||
| 756 | Linux | 19년 전 | 5284 | ||
| 755 | 기타 |
|
19년 전 | 4212 | |
| 754 | Flash |
|
19년 전 | 5219 | |
| 753 | JavaScript |
|
19년 전 | 4784 | |
| 752 | Flash |
|
19년 전 | 4937 | |
| 751 | 기타 | 19년 전 | 6669 | ||
| 750 | 기타 |
|
19년 전 | 3265 | |
| 749 | 기타 |
|
19년 전 | 3376 | |
| 748 | 기타 |
|
19년 전 | 3762 | |
| 747 | 기타 |
|
19년 전 | 5417 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기