替换字符串的某些部分,并更新STANDARD SQL中的列。

问题描述 投票:0回答:1

我在一个叫 "电影 "的表中有一列年份,其中有一些年份的值不符合标准格式(其中有一些是像 "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_sql_query()方法执行SQL命令。所有标准的SQL命令都能很好地工作。但是在这种情况下遇到了错误。enter image description here请注意,我已经删除了额外的括号。

sql
1个回答
1
投票

你过度使用小括号,所以有些东西不匹配。请用这个。

SET year = REPLACE(REPLACE(REPLACE(REPLACE(year, ' ', ''), 'X', ''), 'V', ''), 'I', '')
© www.soinside.com 2019 - 2024. All rights reserved.