-1

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

谢谢

4

4 回答 4

1

请尝试这样的事情>>>

UPDATE table SET field = replace(substr(FIELD,2,6),'2008');
于 2012-09-21T12:14:27.960 回答
1

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

update table set field = left(field, 3) + '2008' where field like '___2008'
于 2012-09-21T12:27:50.157 回答
1

如果您只想更改字段 = 03/2008

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

bsm 您在答案中的替换会变慢

于 2012-09-21T13:11:11.613 回答
0

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

UPDATE    table
SET  field = REPLACE('03/2008', '2008', '2012')
where field="03/2008"
于 2012-09-21T12:41:43.747 回答