gpt4 book ai didi

SQL Server 2012 ISDATE()

转载 作者:行者123 更新时间:2023-12-02 08:41:04 25 4
gpt4 key购买 nike

MS 文档指出 ISDATE()

Returns 1 if the expression is a valid date, time, or datetime value; otherwise, 0

那么为什么它返回 0在下面的例子中?

DECLARE @DT VARCHAR(30) = '1/4/1752'

SELECT
ISDATE(@DT),
TRY_CONVERT(DATE, @DT, 101),
TRY_CONVERT(DATETIME, @DT),
TRY_CAST(@DT as DATE),
TRY_CAST(@DT AS DATETIME)

返回

0   1752-01-04  NULL    1752-01-04  NULL

将日期更改为 1753 并...

1   1753-01-04  1753-01-04 00:00:00.000 1753-01-04  1753-01-04 00:00:00.000

select ISDATE('17521231'), ISDATE('17530101') gives

0 1

最佳答案

documentation 中所述,最早的日期时间值为“1753-01-01”。

我建议您改用try_convert()。这为您提供了更大的灵 active :

 try_convert(date, '17521231') is not null

日期数据类型可以追溯到第一年。

关于SQL Server 2012 ISDATE(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40973511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com