MS SQL SERVER 数据库里有多条记录的 时间 是2012年11月15日格式 ,能一次把多条时间改为

2012-10-12 的形式吗? 时间列为 nvarchar(50)

update 表名 set 时间='2012-10-12' where 时间='2012年11月15日'

是这个意思吗?

你要是想把年月日这三个字换成-的话就这样
update 表名 set 时间 = replace(replace(replace(时间,'年','-'),'月'.'-'),'日','-')追问

差不多,但是数据库里有多条记录,我不想一个一个该,能行吗

追答

比如你想改2013年3月1号,2013年3月2号两天的

update 表名 set 时间 = replace(replace(replace(时间,'年','-'),'月'.'-'),'日','-') where 时间 in ('2013年3月1日','2013年3月2日')

就都括到括号里,逗号分隔,引号引上就好了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-23
你用replace函数
update 表名 set 字段名=replace(字段名,'原本内容','想要替换成什么')
你其实就是想把年、月这两个字替换为-
删除日这个字
第2个回答  2013-04-23
直接update不就好了嘛,反正列也是nvarchar类型的,又不是date追问

我想多条数据一个sql语句就搞定可以吗

追答

update set 列=‘2012-10-12’ ..... where 列=‘2012年11月15日’ 然后不就把2012年11月15日的记录全改成2012-10-12了

相似回答