替换字符串的某些部分并更新标准sql中的列

beq87vna  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(294)

我在一个名为'movie'的表中有一个年份列,其中一些年份值不是标准格式(很少有像'i 1999'、'xv 199'等(在那些年份中空格是常见的))。所以我想删除“”、“x”、“v”、“i”,并用“”替换它们,这样我就可以将它们转换为当年的标准格式。
我可以通过以下命令执行替换部分: SELECT (REPLACE(REPLACE(REPLACE((REPLACE(year, ' ', '')),'X',''),'V',''),'I','')) FROM Movie 但我无法更新我的列(获取错误,命令未执行)。下面是我试过的命令。

UPDATE Movie
SET year = (REPLACE(REPLACE((REPLACE(year, ' ', '')),'X',''),'V',''),'I',''))
WHERE year LIKE '% %'

请让我知道如何更新我的'年'栏。请注意,我只能使用标准的sql命令。
更新:附上错误截图。我正在使用pandas.read\u sql\u query()方法执行sql命令。所有标准的sql命令都运行良好。但在这种情况下遇到了错误。

请注意,我去掉了多余的括号。

xmakbtuz

xmakbtuz1#

你过度使用括号,所以有些东西不匹配。
使用此选项:

SET year = REPLACE(REPLACE(REPLACE(REPLACE(year, ' ', ''), 'X', ''), 'V', ''), 'I', '')

相关问题