如何仅用年和月检查日期有效性?

H X*_*Xie 2 sql-server

该列位于varchar,其值为201510.我想检查这些条目是否有效年份和月份.

Abd*_*eed 5

你可以使用这个isdate功能.

SELECT  isdate(tValue+'01')
FROM (
        SELECT '201510' AS tValue
        UNION
        SELECT '201513'
    ) t
Run Code Online (Sandbox Code Playgroud)

Isdate如果表达式是有效的日期,时间或日期时间值,则返回1; 否则,0.您可以通过在您的值中添加'01'日来简单地将您的年份转换为日期.即'201510'+'01' = '20151001'

在你的情况下.

SELECT isdate(column_name+'01') FROM table_name
Run Code Online (Sandbox Code Playgroud)