在导入我的数据库时,我意识到我犯了一个错误,并以 1k 而不是 1000 和 1m 而不是 1000000 的格式导入了一些数字。
我确实看到了这个:
UPDATE YourTable
SET YourColumn = REPLACE(YourColumn, '%', '');
但是,这会产生一个问题,看看如何使用 1.25k 而不是 1250 我会得到 1.25000
解决此问题的可能方法是什么。
使用CASE
语句:
update yourtable
set yourcolumn =
case when length(yourcolumn) <>
length(replace(yourcolumn, 'k', ''))
then
replace(yourcolumn, 'k', '') * 1000
else when length(yourcolumn) <>
length(replace(yourcolumn, 'm', ''))
then
replace(yourcolumn, 'm', '') * 1000000
else
yourcolumn
end
编辑:我假设 yourcolumn 是一个字符列而不是数字。