日期:2014-05-18  浏览次数:20654 次

请问在将字符串转换成日期类型时出现异常的问题
在SQL   Server   2000环境下:
我要写这样一个函数:
stringToDate(@strDate)   ,   @strDate是字符串,   返回smalldatetime类型的值,  

1.   如果@strDate能正常转换成日期类型,   则返回转换后的日期类型;
2.   否则转换失败的话,   返回null


上面第二点应该怎么实现?   谢谢.

------解决方案--------------------
ISDATE
确定输入表达式是否为有效的日期。

语法
ISDATE ( expression )

参数
expression

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

返回类型
int

注释
如果输入表达式是有效的日期,那么 ISDATE 返回 1;否则,返回 0。下表显示一组示例所得到的返回值。

------解决方案--------------------
嗯,ISDATE可以实现要求.
------解决方案--------------------
create Function stringToDate(@aa varchar(100))
returns datetime
as
begin
declare @str datetime

if isdate(@aa)> 0
select @str = convert(datetime,@aa)

return @str
end