Mag*_*ndi 0 sql sql-server validation datetime sql-server-2005
我需要一个SQL脚本来验证SQL Server 2005数据库中的表中的VARCHAR字段,该数据库包含DateTime值,格式DD/MM/YYYY或NULL值.我想确定所有无效日期.谁能建议一种方法?
UPDATE
谢谢,MagicAndi
使用"ISDATE()"或"IS NULL":但首先设置语言以识别日 - 月 - 年订单
SET LANGUAGE british
SELECT ISDATE('12/31/2009'), ISDATE('31/12/2009')
SET LANGUAGE us_english
SELECT ISDATE('12/31/2009'), ISDATE('31/12/2009')
Run Code Online (Sandbox Code Playgroud)
编辑:正如@edosoft所提到的,你也可以使用SET DATEFORMAT.SET LANGUAGE隐式设置DATEFORMAT,SET DATEFORMAT覆盖SET LANGUAGE
使用ISDATE()时应指定dateformat.来自联机丛书:
SET LANGUAGE us_english;
SET DATEFORMAT dmy;
SELECT ISDATE('15/04/2008'); --Returns 1.
Run Code Online (Sandbox Code Playgroud)