写一个标量值函数可以检查传入的字符串能否转换成日期类型参数1: @年=‘2012’
参数2: @日期='8-1 12:0'把两年字符串拼接在一起 cast(@年+@日期 as datetime) 这样直接转换在参数2正确的情况下可以成功转换,因客户的数据中@日期 经常有错的如 '13-1 1:2' 或 '8-1 70:90' 这样, 此时再用上面的方面就出转换出错了。什么办法可以解决这种出错的, 出错了可以直接返回空值就可以, 转换成功时就返回成功的字符串
参数2: @日期='8-1 12:0'把两年字符串拼接在一起 cast(@年+@日期 as datetime) 这样直接转换在参数2正确的情况下可以成功转换,因客户的数据中@日期 经常有错的如 '13-1 1:2' 或 '8-1 70:90' 这样, 此时再用上面的方面就出转换出错了。什么办法可以解决这种出错的, 出错了可以直接返回空值就可以, 转换成功时就返回成功的字符串
解决方案 »
- 查找v<k<c时对应的r值
- 求助!在线等,去掉末级的三位数
- ERP系统中的某业务表设计问题……
- 求助:新手请教怎样PING和TELNET自动分配IP地址的电脑
- 请问如何将xml数据导入到SQL Server2000中?
- 如何在 SQL Server 2005 中为安装程序增加计数器注册表项值
- 触发器是否死循环??
- win7 64位旗舰版安装sql2008失败,提示拒绝访问
- 求sql server下载地址。
- 如何用程序调用.sql文件来修改数据库的结构?
- 寻求判断编码是否相同然后更新价格的代码
- msde2000数据库与sqlserver2008数据库所具备的功能和所使用的函数、语句等等是否完全相同,只是数据库的空间大小不同
create function fn_isdate
(
@年 varchar(10),
@日期 varchar(20)
)
returns varchar(30)
as
begin
if(isdate(@年+'-'+@日期)=1)
return convert(varchar(30),cast(@年+'-'+@日期 as datetime),120)
else
return null return ''
end
select dbo.fn_isdate('2012','8-1 12:0')
/*
2012-08-01 12:00:00
*/
select dbo.fn_isdate('2011','13-1 1:2')
select dbo.fn_isdate('2012','8-1 70:90')
/*
NULL
*/