Com microsoft sqlserver jdbc sqlserverexception 문자열을 날짜 및/또는 시간으로 변환하지 못했습니다 - Com microsoft sqlserver jdbc sqlserverexception munjayeol-eul naljja mich/ttoneun sigan-eulo byeonhwanhaji moshaessseubnida

[MS-SQL] 문자를 날짜형식(타입)으로 변경 (CONVERT, TO_DATE)

  • 젠트
  • 데이터베이스/MSSQL
  • 2014. 12. 16.

SQL Server 2008, SQL Server 2012

 

문자(VARCHAR)를 날짜형식(타입)으로 변경하는 방법을 소개한다.

날짜 형식을 문자를 CONVERT 함수에 넣으면 날짜포맷을 인식하고 날짜(Date)형으로 값을 리턴한다.

날짜만 변환을 하고 싶다면 DATE형을 사용하고 날짜와 시간까지 변환하고 싶다면 DATETIME형을 사용하면 된다.

 

<날짜형>

DATE : 날짜

DATETIME : 날짜시간

 

문자타입 -> 날짜타입   변경

 

CONVERT( [날짜형식], [문자] )

 

SELECT CONVERT (DATE, '2014-12-16')
           , CONVERT (DATE, '2014/12/16')
           , CONVERT (DATE, '20141216')
           , CONVERT (DATETIME, '2014-12-16')
           , CONVERT (DATETIME, '2014-12-16 15:10:01')

--결과 1 : 2014-12-16
--결과 2 : 2014-12-16
--결과 3 : 2014-12-16
--결과 4 : 2014-12-16 00:00:00.000
--결과 5 : 2014-12-16 15:10:01.000

 

 

공유하기

게시글 관리

구독하기젠트의 프로그래밍 세상

저작자표시

convert, MS-SQL, MSSQL, to_date, 날짜, 문자, 변경, 타입, 타입변경, 형식

'데이터베이스/MSSQL' 관련 글

더 보기

[MSSQL] PIVOT 함수, 행을 열로 바꾸기 (크로스탭, 동적컬럼)

  • 2020.09.03

더 읽기

[MSSQL] STRING_SPLIT 함수, 구분자로 자르기 (행으로 분리)

  • 2020.09.02

더 읽기

[MS-SQL] 문자를 숫자형식(타입)으로 변경 (CONVERT, TO_NUMBER)

  • 2014.12.16

더 읽기

[MS-SQL] 날짜 형식(포맷) 변경 방법 (CONVERT, TO_CHAR)

  • 2014.12.12

더 읽기

 

댓글(0)

비밀 글

등록

 ORDER BY 구문에서 NAME, MAIL로 정렬할 시 문자열을 날짜 및/또는 시간으로 변환하지 못했습니다.' 라는 오류가 발생하는 것을 발견하였다.


해결 방법은 이 블로그를 보고 해결.

//m.blog.naver.com/PostView.nhn?blogId=dlzmstks&logNo=220084395497&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F


SELECT ROW_NUMBER() OVER (

ORDER BY 

(CASE @DIRECTION WHEN 'DESC' THEN (

CASE @SORT 

WHEN 'NAME' THEN [NAME]

WHEN 'MAIL' THEN MAIL 

WHEN 'COMPANY_NAME' THEN COMPANY_NAME

WHEN 'LAST_MODIFY_PERSON' THEN LAST_MODIFY_PERSON

     WHEN 'LAST_MODIFY_DATE' THEN LAST_MODIFY_DATE

END) 

END)

DESC

원래는 이러한 구문을 사용하여 정렬을 시도하였으나 저 LAST_MODIFY_DATE  데이터형이 DATETIME이기에 나는 오류였다.


그리하여


ORDER BY 

(CASE @DIRECTION WHEN 'DESC' THEN (

CASE @SORT 

WHEN 'NAME' THEN [NAME]

WHEN 'MAIL' THEN MAIL

WHEN 'COMPANY_NAME' THEN COMPANY_NAME

WHEN 'LAST_MODIFY_PERSON' THEN LAST_MODIFY_PERSON

END) 

END)

DESC,  (CASE @DIRECTION WHEN 'DESC' THEN (

CASE @SORT  

WHEN N'' THEN REGIST_DATE

WHEN 'LAST_MODIFY_DATE' THEN LAST_MODIFY_DATE

END) 

END) DESC,

이런 식으로 구문을 나눠 수정하여 해결하였다.

공유하기

게시글 관리

구독하기Speak up!!

저작자표시

'컴퓨터 > 닷넷' 카테고리의 다른 글

날짜 포맷  (0)2018.04.26runat=“server”??  (0)2017.12.31

Toplist

최신 우편물

태그