读书人

从字符串变换日期和/或时间时转换失

发布时间: 2013-07-25 16:22:17 作者: rapoo

从字符串转换日期和/或时间时,转换失败
遇到一个问题:

消息 241,级别 16,状态 1,过程 convertdatetimeTest,第 9 行
从字符串转换日期和/或时间时,转换失败。



/*
--datetime convert test
*/
use master
go

create procedure convertdatetimeTest
(
@input varchar
)
as
begin
declare @datetime datetime
set @datetime=CONVERT(datetime,@input)
select @datetime
end

exec convertdatetimeTest '2013-7-17 13:15:07'





执行存储过程时报这个错误?




为什么我直接执行--select CONVERT(datetime,'2013-7-17 13:15:07')没有错呢?

为什么存储过程就不能讲串转换成时间? SQL 存储
[解决办法]
@input varchar 改成 @input varchar(30)
[解决办法]
默认长度为1,被截断以后再转换格式是不对的。
[解决办法]
varchar、char如果不指定括号中的长度,就是varchar(1)/char(1),联机丛书有说,存不进日期这么长,就自然报错了

读书人网 >SQL Server

热点推荐