sqlserver 字符串转日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 字符串转日期相关的知识,希望对你有一定的参考价值。
declare @exec_cur cursor;
declare @cperson varchar(20),@cpersonName varchar(20), @total int;
declare @bdate date = convert(datetime,'2014-06-01'),
@edate date = convert(datetime,'2014-06-30');
exec proc_lsall (@bdate, @edate, @cur = @exec_cur output);--调用存储过程
fetch next from @exec_cur into @cperson, @cpersonName, @total;
while (@@fetch_status = 0)
begin
fetch next from @exec_cur into @cperson, @cpersonName, @total;
print 'id: ' + convert(varchar, @cperson) + ', name: ' + @cpersonName + ', vdate: ' + convert(char, @total);
end
close @exec_cur;
deallocate @exec_cur;--删除游标
---------------------------------------------------------------------------
报错:消息 102,级别 15,状态 1,第 7 行
'@bdate' 附近有语法错误。
Test_OldTable是包含19990101等nvarchar数据类型的表,
Test_NewTable是包含DateTime数据类型的表
sql语句:
INSERT INTO Test_NewTable(NewDate)
SELECT CAST(OldDate AS DateTime)
FROM Test_OldTable
其他的方法还有很多,给你个链接,看看吧,网上多找找http://zhidao.baidu.com/question/97171114.html 参考技术B 不知道你的字符串类型的日期是什么样子的,下面有一个例子:
Test_OldTable是包含19990101等nvarchar数据类型的表,
Test_NewTable是包含DateTime数据类型的表
sql语句:
INSERT INTO Test_NewTable(NewDate)
SELECT CAST(OldDate AS DateTime)
FROM Test_OldTable 参考技术C 先定义变量,再用set给变量赋值
declare @bdate date
set @bdate = convert(datetime,'2014-06-01') 参考技术D 改成:
exec proc_lsall @bdate, @edate, @cur = @exec_cur output;--调用存储过程
试试 第5个回答 2014-06-30 declare @bdate date
set @bdate = convert(datetime,'2014-06-01')
declare @edate date
set @edate = convert(datetime,'2014-06-30');本回答被提问者采纳
以上是关于sqlserver 字符串转日期的主要内容,如果未能解决你的问题,请参考以下文章