CHAR 값을 SQL Server DATETIME 값으로 변환 하는 방법

요약

다음 정보는 SMALLINT 값을 뺀 수 START_TIME 값을 얻을 수 있도록 CHAR 값을 DATETIME 값으로 변환 하는 방법을 설명 합니다.

자세한 내용

먼저 문자 날짜 및 시간 SQL Server 날짜/시간 형식으로 변환 되어야 합니다. 그런 다음 SMALLINT 값 구하는 START_TIME 차감 될 수 있습니다. 단일 SQL 식에서 두 작업을 수행할 수 있습니다. 그러나 두 작업은 개별적으로 간주 하는 경우 프로세스를 이해 하기 쉽습니다.


예를 들어, 시간 값은 "term_time", HHMMSS 형식의 열에 저장 된 경우 YYMMDD입니다 "term_date" 열에 날짜 값이 저장 됩니다 이러한 값 변환할 수 다음 호출을 사용 하 여 SQL Server 날짜/시간:

   convert(datetime,term_date+" "+          substring(term_time,1,2)+":"+
substring(term_time,3,2)+":"+
substring(term_time,5,2) )


쉽게 추가 하거나 지정 된 양을 초, 분, 일 등의 뺄 수는 SQL Server 날짜/시간 형식으로 날짜를 지정 합니다. 예를 들어, SMALLINT 값 ("@delta")는 초 가정 하 고, 다음 함수 반환 합니다 시작 날짜/시간.

   dateadd(ss,-(@delta),???)

전체 식은 입력된 테이블의 각 행에 대해 실행 된 다음 select 문을 배치할 수 있습니다. "@delta"를 입력된 매개 변수로 간주 됩니다. 초 이외의 단위로 "@delta" 인 경우 올바른 단위 (분, 일, 등) 반영 하도록 dateadd 첫 번째 매개 변수는 바꾸어야 합니다.

   select  dateadd( ss, -(@delta), convert(datetime,term_date+" "+               substring(term_time,1,2)+":"+
substring(term_time,3,2)+":"+
substring(term_time,5,2) ))
from t1

속성

문서 ID: 69133 - 마지막 검토: 2017. 2. 7. - 수정: 1

피드백