SQL ISDATE() 函数
SQL ISDATE() 函数允许您判断一个值是否为有效日期。如果您使用它与convert函数一起使用,这个函数将始终返回相同的结果。ISDATE() 函数返回整数值1,表示输入表达式是一个有效日期;如果返回整数值0,则表示输入表达式不是日期。
如果您提供一个datetime2值,ISDATE() 函数将返回0,提示您它不是一个日期。
语法
以下是SQL ISDATE() 函数的语法 –
参数
此函数只接受一个参数,如下所述:
- expression − 要检查的表达式。
注意 − 如果给定的日期仅包含时间部分,则month()函数返回1。
示例
在以下查询中,我们正在检查表达式是否有效:
输出
当我们执行上述查询时,获取的输出如下所示:
示例
在这里,我们尝试使用以下查询来确定给定的表达式是否有效-
输出
执行上述查询时,输出如下所示:
示例
ISDATE() 函数在参数为 NULL 时将返回0,表示NULL值不是有效的日期。
在下面的示例中,我们将使用null来检查表达式是否有效,通过执行以下查询:
输出
上述查询的输出如下所示:
示例
看下面的示例,我们在表达式中使用了月份的 字面名称 来检查表达式是否有效,使用以下查询:
输出
如果我们执行上述查询,则结果如下生成−
示例
考虑以下示例,我们将 时间 作为输入参数,并通过执行以下查询来检查表达式是否有效。
输出
执行上述查询后,将生成如下所示的输出结果:
示例
让我们来看以下示例,其中我们使用ISDATE()函数与一个变量一起,通过运行以下查询检查表达式是否有效。
输出
执行上述查询后,将生成如下所示的输出:
示例
考虑以下示例,我们将根据返回值为1或0来打印有效日期或无效日期,使用以下查询:
要使用返回值,您可以使用条件表达式(而不仅仅显示0或1)。
输出
运行上述查询时,将生成如下输出 −
示例
ISDATE()的返回值取决于用户选择的语言类型和日期格式设置。
让我们来考虑一个简单的示例,在这个示例中,我们将观察到改变语言设置会导致相同的值有多种结果。
在英国语言中
执行以下查询,其中语言设置为英国语。
输出
当我们执行上述查询时,输出结果如下所示:
在us_english语言环境中
我们将使用相同的值,但不同的是语言设置为us_english
输出
当上述查询被执行时,它将产生如下所示的输出-
以日/月/年格式
ISDATE()函数取决于用户选择的格式设置类型。
考虑一个简单的示例,我们将观察如何通过格式设置使相同的值具有不同的返回值。
执行下面的查询,我们将格式设置为 日/月/年 。
输出
运行上述查询,生成如下所示的输出结果 –
以mdy格式
在考虑相同的值并将格式设置更改为 mdy 后,执行以下查询。
输出
当我们执行上述查询时,得到的输出如下: