Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Oracle
- php
- html
- SQL
- codeigniter
- 맥
- JavaScript
- Stock
- 공모주 청약
- 7월 공모주 청약 일정
- 오라클
- 리눅스
- 6월 공모주 청약 일정
- 공모주
- Eclipse
- java
- 코드이그나이터
- 주식 청약 일정
- MYSQL
- Stock ipo
- linux
- css
- 공모주 청약 일정
- 자바스크립트
- 제이쿼리
- 주식
- 주식 청약
- jquery
- 자바
- IPO
Archives
- Today
- Total
개발자의 끄적끄적
[DBMS] MSSQL 오전/오후를 24시간 표기법으로 변경 [펌] 본문
728x90
반응형
[DBMS] MSSQL 오전/오후를 24시간 표기법으로 변경 [펌]
오래된 데이터들에 날짜형식이 varchar 형태로 아래와 같이 들어있었다.
2008-01-01 오전 12:01:00
2008-01-01 오후 12:01:00
오전 12 시라니... 저거슨 낮12시인가 자정인가...
그냥 24시간제로 바꾸자!
소스에 대한 로직은 이렇다.
1. 오후면서 오후 12시가 아닌가? 그럼 12시간을 더해주자
: 오후 1시 ==> 13시
2. 오전 12시인가? 그렇다면 12를 빼주자
:오전 12시 00시
3. 해당 조건이 아니면 그냥 오전/오후만 빼주면 끝!
select UFN_ConvertDate('2020-01-01 오전 12:01:00') => 2020-01-01 00:01:00
select UFN_ConvertDate('2020-01-01 오전 1:01:00') => 2020-01-01 01:01:00
select UFN_ConvertDate('2020-01-01 오후 12:01:00') => 2020-01-01 12:01:00
select UFN_ConvertDate('2020-01-01 오후 1:01:00') => 2020-01-01 13:01:00
CREATE FUNCTION [dbo].[UFN_ConvertDate] (@date AS VARCHAR(50))
RETURNS datetime
AS
BEGIN
DECLARE @OutDate datetime
SET @OutDate = CASE WHEN CHARINDEX('오후',@date)>0 and CHARINDEX('오후 12',@date)<=0 THEN
DATEADD(HH,12,CONVERT (DATETIME, REPLACE(@date,'오후','')))
WHEN CHARINDEX('오전 12',@date)>0 THEN
DATEADD(HH,-12,CONVERT (DATETIME, REPLACE(@date,'오전','')))
ELSE CONVERT (DATETIME,REPLACE(REPLACE(@date,'오전',''),'오후','') )
END
RETURN @OutDate
END
출처 : https://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=82575
반응형
'개발 > sql' 카테고리의 다른 글
[ORACLE]오라클_시퀀스(NEXTVAL , CURRVAL) 사용법 (0) | 2020.08.10 |
---|---|
[DBMS] MySQL에서 검색에 사용되는 필드는 float로 설정하지 말아라.[하지 말아라.[펌] (0) | 2020.08.08 |
[Oracle] 테이블 & 컬럼 Comment 추가,확인,삭제 방법 (0) | 2020.08.08 |
[Oracle] 오라클 테이블 스페이스 사용법(조회, 생성, 삭제)등 총정리 (0) | 2020.08.07 |
[oracle]오라클 함수(function) 생성 및 실행[펌] (0) | 2020.08.07 |
Comments