varchar 변수에 "2009-07-17T00 : 00 : 00-05 : 00"형식의 데이터가 있습니다. 쿼리 나 TSQL을 사용하여이 데이터를 MS SQL 서버의 datetime 필드로 변환하려면 어떻게해야합니까? 당신은 SQL 서버 2008에있는 경우SQL datetime 값
답변
, 당신은 datetimeoffset
유형을 사용할 수 있습니다 :
datetimeoffset
데이터 유형이 당신을 위해 사용할 수 없습니다 때문에
select cast('2009-07-17T00:00:00-05:00' as datetimeoffset)
. 표준 시간대 정보를 별도로 보관할 것인지 결정해야합니다. 그냥 datetime
부분을 원한다면, 단지 문자열에서 시간대 부분을 제거하고이 datetime
로 캐스팅 : DATETIME으로
select cast(left('2009-07-17T00:00:00-5:00', 19) as datetime)
어떻게 든 작동하지 않습니다. "유형 datetimeoffset은 정의 된 시스템 유형이 아닙니다." 어떻게해야합니까? – THEn
사용중인 SQL Server 버전은 무엇입니까? 'datetimeoffset'은 2008 년에 새로 추가되었습니다. –
Microsoft SQL Server 2005 - 9.00.1406.00 (X64) Mar 3 2007 19:53:24 Copyright (c) 1988-2005 Windows NT 5.2에서 Microsoft Corporation Enterprise Edition (64 비트) 3790 : 서비스 팩 2) – THEn
캐스트가 작동하지 않습니다,하지만 형식 때문에, 유효한 XML 날짜 형식입니다 먼저 XML 형식을 통해 캐스트를 라우팅 할 수 있습니다.
declare @d varchar(50);
select @d = '2009-07-17T00:00:00-05:00';
select x.value(N'.', N'datetime') from (select cast(@d as xml) as x) as t;
예. 이 데이터는 XML 파일에서 가져온 것입니다. 내가 SQL에서 그것을 할 어떤 식 으로든 [[STARTDATE] varchar (50) WITH OPENXML (@iTree, '/ List/DailyUpdate', 2)에서 SELECT [StartDate] FROM을 사용 했습니까? 나는 datetime 작업을 시도하지 않았다 ... – THEn
OPENXML 대신 XML 방법을 사용할 수 있습니까? OPENXML은 공룡입니다. 그냥'SELECT xmlfield.value (N '(/ List/Daily/Update) [1]', N'datetime ') FROM table'이라고 말하면됩니다. OPENXML을 사용하면 WITH 구문을 사용하여 반환 스키마를 지정하고 StartDate를 datetime에 매핑해야합니다. 'SELECT StartDate FROM OPENXML (...) WITH (StartDate DATETIME)'. –
또한 답의 쿼리는 "datetime을 문자열로 변환 할 때 변환하지 못했습니다."라는 내용을 계속 표시합니다. 어떤 생각? – THEn
- 1. SQL (?) : 두 datetime 값 사이의 시간 계산하기
- 2. DatePicker의 Nullable datetime 값
- 3. MySQL의 기본 DATETIME 값
- 4. DateTime "null"값
- 5. DATETIME 형식에서시 값 추출
- 6. sql - datetime 변수와 datetime 변수의 문자열 표현
- 7. C#의 음수 값 DateTime
- 8. datetime 값 (SQL Server)의 시간 부분을 제거하는 방법?
- 9. sql datetime 형식 변환
- 10. DateTime/bool 및 .Net의 Null 값
- 11. SQL Server, 이상한 DATETIME 동작
- 12. MS SQL join on dateTime
- 13. SQL, OPENXML 및 DateTime 대화
- 14. SQL Server 2005에 DateTime 삽입
- 15. 집합에 대한 SQL datetime 근접
- 16. MS SQL datetime 정밀도 문제
- 17. FormView의 TextBox에서 DateTime 값 가져 오기
- 18. C# DataView RowFilter, DateTime 열의 null 값
- 19. 고유 번호를 사용하여 datetime 필드에 값 저장
- 20. SQL 저장 프로 시저의 .NET datetime 문제
- 21. SQL 서버 datetime 필드에서 datetime 형식을 지정하는 올바른 방법은 무엇입니까
- 22. 오류 삽입 DateTime C# 형식을 SQL DateTime 열
- 23. DateTime, DateTime? LINQ
- 24. 다른 형식의 SQL Server datetime 비교
- 25. SQL Server 호스트 마이그레이션 Datetime 문제
- 26. Linq 긴 DateTime 함께 SQL 문제를
- 27. SQL Server Datetime 문제입니다. 미국 대 영국인?
- 28. SQL 데이터베이스 삽입을위한 Datetime 개체 삽입
- 29. datetime 필드의 SQL Server 기본 키
- 30. 오라클 PL/SQL datetime 수학 간격
마지막 '-05 : 00'은 무엇입니까? 밀리 세컨드의 어떤 형태? – dotjoe
dotjoe : 시간대입니다. –
은'% '-05 : 00''과 같은 모든 필드입니까? 아마도 문자열 함수를 사용하여 정규 datetime으로 변환해야 할 것입니다. – dotjoe