在SQL Server 2005中验证DateTime字符串 [英] Validate DateTime String in SQL Server 2005

查看:134
本文介绍了在SQL Server 2005中验证DateTime字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一个SQL脚本验证SQL Server 2005数据库中包含DateTime值的表中的VARCHAR字段,格式为 DD / MM / YYYY ,或 NULL 值。我想确定所有无效的日期。任何人都可以提出一种方法?

I require a SQL script to validate a VARCHAR field in a table in a SQL Server 2005 database that contains DateTime values, in the format DD/MM/YYYY, or NULL values. I would like to identify all invalid dates. Can anyone suggest a method?

更新


  • 答案必须使用T-SQL;出于性能原因,我无法使用SQLCLR。

感谢,MagicAndi

Thanks, MagicAndi

推荐答案

使用ISDATE()或IS NULL:但首先设置语言以识别日月年订单

Use "ISDATE()" OR "IS NULL": but set the language first to recognise the day-month-year order

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')

编辑:如@edosoft所述,您也可以使用SET DATEFORMAT。 SET LANGUAGE隐式设置DATEFORMAT,SET DATEFORMAT覆盖SET LANGUAGE

As mentioned by @edosoft, you can use SET DATEFORMAT too. SET LANGUAGE implicitly sets DATEFORMAT, SET DATEFORMAT overrides SET LANGUAGE

这篇关于在SQL Server 2005中验证DateTime字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆