如何将自定义格式化日期时间字符串解析为日期时间?

时间:2013-11-20 01:02:57

标签: sql sql-server

这适用于Microsoft SQL Server

我有一个带有表示为字符串的时间戳的审计表 - 时间戳位于多个特定于语言环境的表示中(例如,一些以mm / dd表示,其他为dd / mm)

我知道我感兴趣的一些行有一个时间戳字符串,格式为dd / MM / yy HH:mm:ss

我想写一个查询,它将返回时间戳字符串不是那种格式的行,所以我想象这样的东西(带有虚构的PARSEDATE函数)

WHERE PARSEDATE(timestamp) IS NOT NULL

我读过的关于T-SQL日期时间函数的所有内容似乎都涉及定义良好的格式代码,例如112,但是我没有看到能够提供自定义日期时间格式字符串进行解析的通用方法吗?

1 个答案:

答案 0 :(得分:1)

在运行查询之前设置格式。

SET LANGUAGE us_english;
SET DATEFORMAT dmy;

在您的查询中

WHERE ISDATE(timestamp) = 1

可以找到更多信息here