Vla*_*mir 6 t-sql datetime2 sql-server-2008 sql-server-2012
我知道有一个名为isdate()的函数来验证datetime列,但它只适用于smalldatetime和datetime类型.问题是:是否有类似的方法来验证sql server 2008和2012中的新数据类型datetime2?
Aar*_*and 13
在SQL Server 2012中,您可以使用TRY_CONVERT:
SELECT TRY_CONVERT(DATETIME2, '2012-02-02 13:42:55.2323623'),
TRY_CONVERT(DATETIME2, '2012-02-31 13:42:55.2323623');
Run Code Online (Sandbox Code Playgroud)
结果:
2012-02-02 13:42:55.2323623 NULL
Run Code Online (Sandbox Code Playgroud)
或者TRY_PARSE:
SELECT TRY_PARSE('2012-02-02 13:42:55.2323623' AS DATETIME2),
TRY_PARSE('2012-02-31 13:42:55.2323623' AS DATETIME2);
Run Code Online (Sandbox Code Playgroud)
(结果相同.)
对不起,我对<2012年没有一个聪明的答案.我想,你可以说
SELECT ISDATE(LEFT('2012-02-02 13:42:55.2323623', 23));
Run Code Online (Sandbox Code Playgroud)
但那感觉很脏.
TRY_CONVERT有关MSDN上的MSDN
TRY_PARSE文档的文档
| 归档时间: |
|
| 查看次数: |
5765 次 |
| 最近记录: |