yyyymmddMilliseconds 형식의 시간 데이터가있는 표가 있습니다. 예 : 20100218000051234. 이것을 DateTime 유형으로 변환하는 방법은 무엇입니까? SQL Server 2008에서.yyyymmddMilliseconds를 SQL Server의 datetime으로 변환하는 방법은 무엇입니까?
1
A
답변
0
흥미롭게 SQLCLR 기능을 사용할 수있는 경우의 예입니다 찾을 수 있습니다, 할, 당신은을받지 않습니다 전의 DateTime 값이 .000, .003 또는 .007 단위로 반올림되므로 원하는 정밀도를 지정하십시오. 따라서 51.234는 51.233이됩니다. 그러나 DateTime2를 사용하면 원하는 정밀도를 얻을 수 있습니다.
declare @x varchar(50)
set @x='20100218000051234'
Select DateAdd(ms, Cast(Substring(@x, 9, 9) As int), Cast(Substring(@x, 1, 8) As datetime))
Select DateAdd(ms, Cast(Substring(@x, 9, 9) As int), Cast(Substring(@x, 1, 8) As datetime2))
Results:
2010-02-18 00:00:51.233
2010-02-18 00:00:51.2340000
1
convert
과 substring
의 조합을 사용해야합니다. http://www.sqlusa.com/bestpractices/datetimeconversion/에서 추정 할 수있는 좋은 예가 있습니다.
T-SQL 문자열 조작 함수 here에 대한 설명서를 찾을 수도 있습니다.
6
이 시도 :
declare @x varchar(50)
set @x='20100218000051234'
select DATEADD(ms,CONVERT(int,RIGHT(@x,9)),CONVERT(datetime,LEFT(@x,8)))
출력 위의 예에서
-----------------------
2010-02-18 00:00:51.233
(1 row(s) affected)
2
, 20100218000051234이
Year: 2010 Month: 02 (February Day: 18 Milliseconds: 000051234
또는를 나타내는 지 여부를 명확하지 않다 :
012 3,516,Year: 2010 Month: 02 (February Day: 18 Hours: 00 Minutes: 00 Seconds: 51 Milliseconds: 234
0
0
유용 "구문 분석 정보는"당신이 당신이 SQL Server 2005 및 이전을 사용하는 경우,
using System;
using System.Data.SqlTypes;
using System.Globalization;
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlDateTime Parse(SqlString s)
{
if (s.IsNull)
return SqlDateTime.Null;
return new SqlDateTime(DateTime.ParseExact(s.Value,"yyyyMMddhhmmssfff",CultureInfo.InvariantCulture));
}
};
관련 문제
- 1. sqldatetime.minvalue를 datetime으로 변환하는 방법은 무엇입니까?
- 2. SQL Server에서 "dd/mm/yyyy"문자열을 datetime으로 변환하는 방법은 무엇입니까?
- 3. 문자열을 파이썬으로 datetime으로 변환하는 방법
- 4. T-SQL을 사용하여 문자열을 datetime으로 변환하는 방법은 무엇입니까?
- 5. HTML.Textbox에서 DateTime으로 변환하는 방법?
- 6. SQL Server의 도메인은 무엇입니까?
- 7. 틱을 XSLT로 읽을 수있는 datetime으로 변환하는 방법은 무엇입니까?
- 8. byte []를 C#으로 datetime으로 변환하는 방법은 무엇입니까?
- 9. EDT 관련 인스턴트가 포함 된 문자열을 DateTime으로 변환하는 방법은 무엇입니까?
- 10. 개체를 C에서 datetime으로 변환하는 중 #
- 11. SQL Server의 명명 규칙이란 무엇입니까?
- 12. 시간대가있는 varchar를 SQL에서 datetime으로 변환하는 방법
- 13. SQL Server의 SmallDateTime
- 14. 동적 ORDER는 SQL Server의
- 15. SQL Server의 LDF 파일은 무엇입니까?
- 16. SQL Server의 시간 범위
- 17. SQL Server의 페이징
- 18. Sql Server의 일광 절약 시간
- 19. SQL Server의 포트가 차단되었습니다.
- 20. C++에서 문자열을 datetime으로 변환하는 방법
- 21. 지정된 형식으로 문자열을 DateTime으로 변환하는 방법?
- 22. 이 varchar 값을 datetime으로 변환하는 방법
- 23. SQL Server의 sp_tableoption
- 24. SQL Server의 레코드 수준 보안
- 25. SQL Server의 Null 값 저장
- 26. SQL Server의 별칭
- 27. SQL Server의 openquery 문제
- 28. 검색어를 변환하는 방법은 무엇입니까?
- 29. lock이없는 SQL Server의 마스터/작업자
- 30. sql 서버에서 datetime으로 문자열 변환
질문 제목이 ** yyyymmddMilliseconds ** 형식을 지정하지 않으십니까? –
KM : 맞습니다. 마지막 9 문자가 "밀리 초"를 나타내지 만 비정상적인 형식 문자열로 보였으므로 두 번 확인하는 것이 가장 좋습니다 –