문자열을 날짜 T-SQL로 변환하는 방법은 무엇입니까?
T-SQL에서 문자열을 날짜로 어떻게 변환 할 수 있습니까?
내 테스트 케이스는 문자열입니다. '24.04.2012'
CONVERT(datetime, '24.04.2012', 104)
트릭을해야합니다. 자세한 내용은 여기를 참조하십시오. CAST 및 CONVERT (Transact-SQL)
CONVERT(DateTime, DateField, 104)
데이터베이스가 MS SQL Server 2012 이상이라고 가정하면 작동하는 솔루션이 있습니다. 기본 문에는 인라인 try-parse가 포함됩니다.
SELECT TRY_PARSE('02/04/2016 10:52:00' AS datetime USING 'en-US') AS Result;
프로덕션 버전에서 구현 한 내용은 다음과 같습니다.
UPDATE dbo.StagingInputReview
SET ReviewedOn =
ISNULL(TRY_PARSE(RTrim(LTrim(ReviewedOnText)) AS datetime USING 'en-US'), getdate()),
ModifiedOn = (getdate()), ModifiedBy = (suser_sname())
-- Check for empty/null/'NULL' text
WHERE not ReviewedOnText is null
AND RTrim(LTrim(ReviewedOnText))<>''
AND Replace(RTrim(LTrim(ReviewedOnText)),'''','') <> 'NULL';
ModifiedOn 및 ModifiedBy 열은 내부 데이터베이스 추적 용도로만 사용됩니다.
다음 Microsoft MSDN 참조를 참조하십시오.
CONVERT는 작동하지만 실제로 사용해서는 안됩니다. SQL-Server에서 문자열 값을 구문 분석하는 이유를 자문해야합니다. 이 작업이 일부 데이터를 수동으로 수정하는 일회성 작업 인 경우 다음 번에는 해당 데이터를 얻지 못할 것입니다. 이것은 괜찮지 만 응용 프로그램이이를 사용하는 경우 변경해야합니다. 가장 좋은 방법은 "날짜"데이터 유형을 사용하는 것입니다. 이것이 사용자 입력이라면 더 나쁩니다. 그런 다음 먼저 클라이언트에서 몇 가지 확인을 수행해야합니다. SQL-Server가 날짜를 예상하는 문자열 값을 전달하려면 항상 ISO 형식 ( 'YYYYMMDD')을 사용할 수 있으며 자동으로 변환되어야합니다.
당신이 사용할 수있는:
SELECT CONVERT(datetime, '24.04.2012', 103) AS Date
참조 : CAST 및 CONVERT (Transact-SQL)
CONVERT(DateTime, ExpireDate, 121) AS ExpireDate
필요한 것을 수행 할 것입니다.
2012-04-24 00:00:00.000
참고 URL : https://stackoverflow.com/questions/10304373/how-convert-string-to-date-t-sql
'IT박스' 카테고리의 다른 글
C ++에서 증가-언제 x ++ 또는 ++ x를 사용합니까? (0) | 2020.09.24 |
---|---|
PHP의 오류 로그는 XAMPP에서 어디에 있습니까? (0) | 2020.09.24 |
Javascript / jQuery에서 (e)는 무엇을 의미합니까? (0) | 2020.09.24 |
ng-init에서 여러 값 선언 (0) | 2020.09.24 |
jQuery로 테이블 만들기-추가 (0) | 2020.09.23 |