SQL SERVER 函数

lovewhat1234 2008-08-29 11:15:57
SQL SERVER 有没有自带的函数可以判断一个字符串能否转换成smalldatetime 类型,如果没有哪位能知道写一个用户自定义的判断函数
...全文
65 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
等不到来世 2008-08-30
  • 打赏
  • 举报
回复
Isdate()足矣。
如果一个字符串是日期,则必然能转化为smalldatetime.只是转化的结果不一定是你想要的。
例子:

select Isdate('2008-08-08') -- return 1
select Isdate('12:20') -- return 1

select Cast('12:20' as smalldatetime) return 1900-01-01 12:20:00
CN_SQL 2008-08-30
  • 打赏
  • 举报
回复
ISDATE只能验证是否是日期格式,并不能判断如果是日期,能否转换成smalldatetime
所以你只能通过自己写函数来判断.
ilovewalk 2008-08-30
  • 打赏
  • 举报
回复
ISDATE
dawugui 2008-08-29
  • 打赏
  • 举报
回复
示例
A. 使用 ISDATE 检查变量
下面的示例检查 @datestring 局部变量是否为有效的日期。

DECLARE @datestring varchar(8)
SET @datestring = '12/21/98'
SELECT ISDATE(@datestring)

下面是结果集:

-----------
1

B. 使用 ISDATE 检查列是否为有效的日期
下面的示例创建 test_dates 表,并且插入两个值。使用 ISDATE 以确定列中的值是否为日期。

USE tempdb
CREATE TABLE test_dates (Col_1 varchar(15), Col_2 datetime)
GO
INSERT INTO test_dates VALUES ('abc', 'July 13, 1998')
GO
SELECT ISDATE(Col_1) AS Col_1, ISDATE(Col_2) AS Col_2
FROM test_dates

下面是结果集:

Col_1 Col_2
----------------- --------------------
0 1

dawugui 2008-08-29
  • 打赏
  • 举报
回复
ISDATE
确定输入表达式是否为有效的日期。

语法
ISDATE ( expression )

参数
expression

一个表达式,将要验证它是否为一个日期。expression 是任何返回 varchar 数据类型的表达式。

返回类型
int

注释
如果输入表达式是有效的日期,那么 ISDATE 返回 1;否则,返回 0。

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧