SQL SERVER 函数 SQL SERVER 有没有自带的函数可以判断一个字符串能否转换成smalldatetime 类型,如果没有哪位能知道写一个用户自定义的判断函数 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ISDATE确定输入表达式是否为有效的日期。语法ISDATE ( expression ) 参数expression一个表达式,将要验证它是否为一个日期。expression 是任何返回 varchar 数据类型的表达式。 返回类型int注释如果输入表达式是有效的日期,那么 ISDATE 返回 1;否则,返回 0。 示例A. 使用 ISDATE 检查变量下面的示例检查 @datestring 局部变量是否为有效的日期。DECLARE @datestring varchar(8)SET @datestring = '12/21/98'SELECT ISDATE(@datestring)下面是结果集:----------- 1 B. 使用 ISDATE 检查列是否为有效的日期下面的示例创建 test_dates 表,并且插入两个值。使用 ISDATE 以确定列中的值是否为日期。USE tempdbCREATE TABLE test_dates (Col_1 varchar(15), Col_2 datetime)GOINSERT INTO test_dates VALUES ('abc', 'July 13, 1998')GOSELECT ISDATE(Col_1) AS Col_1, ISDATE(Col_2) AS Col_2 FROM test_dates下面是结果集:Col_1 Col_2 ----------------- --------------------0 1 ISDATE只能验证是否是日期格式,并不能判断如果是日期,能否转换成smalldatetime所以你只能通过自己写函数来判断. Isdate()足矣。如果一个字符串是日期,则必然能转化为smalldatetime.只是转化的结果不一定是你想要的。例子:select Isdate('2008-08-08') -- return 1select Isdate('12:20') -- return 1select Cast('12:20' as smalldatetime) return 1900-01-01 12:20:00 早先的一SQL语句,如何完善它? 谁能帮助优化一下这个sql 关于在存贮过程中统计页数的疑问 关于时间函数的问题 SQL 2005 日志文件过大问题 请问怎样清除已连接上数据库的用户? 一个看似简单的查询 装不了sql2000了,总是提示安装程序 配置服务器失败 ???? SQL SERVER 总是连接不到本地数据库 请问产生数据库结构文件的SQL语句是什么? 一个简单的表结构设计问题,有标准的答案吗? sql2000 高手麻烦帮忙看一下
确定输入表达式是否为有效的日期。语法
ISDATE ( expression ) 参数
expression一个表达式,将要验证它是否为一个日期。expression 是任何返回 varchar 数据类型的表达式。 返回类型
int注释
如果输入表达式是有效的日期,那么 ISDATE 返回 1;否则,返回 0。
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
所以你只能通过自己写函数来判断.
如果一个字符串是日期,则必然能转化为smalldatetime.只是转化的结果不一定是你想要的。
例子:select Isdate('2008-08-08') -- return 1
select Isdate('12:20') -- return 1select Cast('12:20' as smalldatetime) return 1900-01-01 12:20:00