如何在闰年中找到无效日期

Uma*_*bal 3 sql sql-server

好吧,我在sql中有一个表,它包含日期列,其中包含日期,我需要在闰年中找到无效日期,例如无效日期,即2月31日或2月29日,非闰年.

简单的查询将有所帮助.

Tec*_*hDo 6

您可以使用sql server的ISDATE函数.请参阅: ISDATE(Transact-SQL), 验证SQL Server 2005中的DateTime字符串

样品:

SELECT dt, ISDATE(dt) ValidDate
FROM(
    SELECT '31-Feb-2012' AS dt UNION
    SELECT '31-Jan-2012' AS dt 
)x
Run Code Online (Sandbox Code Playgroud)

ISDATE如果表达式是有效的日期,时间或日期时间值,则返回1; 否则,0.

您可以使用以下方法检查现有的表数据:

SELECT 
    date_of_birth, 
    ISDATE(date_of_birth) ValidDate 
FROM 
    YourTable
Run Code Online (Sandbox Code Playgroud)