拆分字符串并更新sql中的特定值

时间:2012-09-21 11:22:52

标签: tsql split sql-update

田间价值:03/2008
我想将它从“/”拆分,并希望更新年份的值,即2012年而不是2008年。我想更新同一列中的值,即03/2012而不是03/2008。在更新查询中,我没有得到我是否必须使用substr然后如何替换相同字符串中的新值?

谢谢

4 个答案:

答案 0 :(得分:1)

请尝试像这样的>>>

UPDATE table SET field = replace(substr(FIELD,2,6),'2008');

答案 1 :(得分:1)

我建议使用整数来表示第0天之后的月数,'03/2008'变为1298.备选您可以使用日期(日期时间,如果您使用2005或更少)并将日期设置为1所以' 03/2008成为2008-03-01。为了在这里和现在解决你的问题,这是一个很好的解决方案,它忽略了前3个字符的值,如果它们的值为'2008',则用2012替换接下来的4个字符

update table set field = left(field, 3) + '2008' where field like '___2008'

答案 2 :(得分:1)

如果您只想更改field = 03/2008

UPDATE  table
SET   field = '03/2012'
where field = '03/2008'

bsm你的答案中的替换会慢一些

答案 3 :(得分:0)

非常感谢你们的回复。它以这种方式工作..

UPDATE    table
SET  field = REPLACE('03/2008', '2008', '2012')
where field="03/2008"