请高人指点一下!~非常及

fanyixiao 2006-03-22 10:30:03
在存储过程中,怎样把  2000年1月3日替换成20000103,如果年份是2000年11月13日就要换成20001113
...全文
123 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dulei115 2006-03-22
  • 打赏
  • 举报
回复
可能是你的数据不都是“2000年1月3日”的格式,update没有问题
if object_id('zl') is not null drop table zl
select '2000年11月13日' as PUBNR
into zl
union select '2000年1月13日'
union select '2000年11月3日'

update [zl] set PUBNR = convert(varchar(8),cast(replace(replace(replace(PUBNR,'年','-'),'月','-'),'日','') as datetime),112)

select * from zl
/*
PUBNR
20001113
20001103
20000113
*/
drop table zl
fanyixiao 2006-03-22
  • 打赏
  • 举报
回复
服务器: 消息 241,级别 16,状态 1,行 1
从字符串转换为 datetime 时发生语法错误。
但是出错了
update [zl] set PUBNR =convert(varchar(8),cast(replace(replace(replace(PUBNR,'年','-'),'月','-'),'日','') as datetime),112)
dulei115 2006-03-22
  • 打赏
  • 举报
回复
select convert(varchar(8),cast(replace(replace(replace(字段名,'年','-'),'月','-'),'日','') as datetime),112) as 字段名
from 表名
zlp321002 2006-03-22
  • 打赏
  • 举报
回复
update 表
set 字段= convert(varchar(8), cast(字段 as datetime), 112)
fanyixiao 2006-03-22
  • 打赏
  • 举报
回复
谢谢各位楼主,但是我的数据量有很多,我只是拿出了一条,我怎样循环呀?还请各位高手给指点
wangdehao 2006-03-22
  • 打赏
  • 举报
回复
declare @dt varchar(800)

set @dt='2000年1月3日'

select convert(varchar(10),cast(replace(replace(replace(@dt,'年','-'),'月','-'),'日','') as datetime),112)
dulei115 2006-03-22
  • 打赏
  • 举报
回复
declare @s varchar(14)
set @s = '2000年1月3日'
set @s = replace(@s, '年', '-')
set @s = replace(@s, '月', '-')
set @s = replace(@s, '日', '')
select convert(varchar(8), cast(@s as datetime), 112)
dulei115 2006-03-22
  • 打赏
  • 举报
回复
to libin_ftsafe(子陌红尘)
convert最后一个参数要是112才满足lz的要求
子陌红尘 2006-03-22
  • 打赏
  • 举报
回复
declare @d varchar(20)
set @d='2000年11月13日'
select convert(char(10),cast(replace(replace(replace(@d,'年','-'),'月','-'),'日','') as datetime),120)
dulei115 2006-03-22
  • 打赏
  • 举报
回复
declare @s varchar(14)
set @s = '2000年1月3日'
set @s = replace(@s, '年', '-')
set @s = replace(@s, '月', '-')
set @s = replace(@s, '日', '')
select convert(varchar(10), cast(@s as datetime), 112)
fanyixiao 2006-03-22
  • 打赏
  • 举报
回复
楼上的朋友,实在对不起,其实你们都是对的,我把字段给弄错了!实在对不起。谢谢大家了
fanyixiao 2006-03-22
  • 打赏
  • 举报
回复
楼上所说的我试了但还是有些出入,第一:我数据库中年份有很多,第二:我数据库中有很多字段,运行楼上的程序,就把我别的字段都给删调了

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧