ISDATE
功能描述
ISDATE函数用于判断表达式是否为有效的datetime值。
若表达式是有效的 datetime 值则返回 1 ;否则返回 0 。
若表达式为 datetime2 值,则返回 0 。
无效的表达式格式(返回 0 或错误)包括如下项:
ISDATE表达式 | ISDATE返回值 |
---|---|
Null | 0 |
除字符串、Unicode 字符串或日期和时间以外的任何数据类型的值。 | 0 |
text、ntext 或 image 数据类型的值 。 | 0 |
秒精度小数位数超过 3 的任何值(.0000 到 .0000000...n)。 如果表达式为 datetime2 值,ISDATE 将返回 0,但如果表达式是有效的 datetime 值,则将返回 1。 | 0 |
有效日期和无效值混在一起的任何值,例如 1995-10-1a。 | 0 |
注意事项
该功能仅在数据库兼容模式为SQL Server时支持(即数据库实例初始化时指定DBCOMPATIBILITY='MSSQL')。
语法格式
ISDATE ( expression )
参数说明
expression
字符串或者可以转换为字符串的表达式。 表达式的长度不得超过 4000 个字符。
不允许将日期和时间数据类型(datetime 和 smalldatetime 除外)作为 ISDATE 的参数。
入参不能超过4000字符。
返回值
INT类型,0 或 1。
示例
示例1: 输入datetime类型,调用isdate函数查看判断结果。
select isdate('2024-12-12 10:00:00');
返回结果如下:
isdate
--------
1
(1 row)
示例2: 输入无效的datetime类型,调用isdate函数查看判断结果。
SELECT ISDATE('2024-13-01') AS IsDate7;
结果返回如下:
isdate7
---------
0
(1 row)