我对sql几乎没有经验。我被一个看似简单的任务困住了——我把一行合同号复制到一个新的“年”行中,其中包括一个两位数的年份号(例如1/14、31/15、221/17)。
现在我需要用'20'字符串替换正斜杠和斜杠本身留下的数字,以获得相当完整的年份(例如2014、2015、2017)。行是varchar。
我试着这样:
UPDATE contracts SET year = REPLACE(year, '%/', '20')
或者这个:
UPDATE contracts SET year = REPLACE(year, '*/', '20')
未引发错误,但未更新任何内容(0行受影响…)。
我甚至尝试了regexp,但这会引发错误,所以很明显语法肯定是错误的:
UPDATE contracts SET year = REPLACE(year, '.+/\', '20')
任何帮助都将不胜感激。
1条答案
按热度按时间ct2axkht1#
mysql不支持带有
replace()
. 根据您的示例数据,您可以执行以下操作: