我目前有以下SQL查询,它从列中删除%符号,并将空值更改为NULL
SELECT col,
CASE
WHEN (REPLACE(col, '%', '') = '') THEN NULL
ELSE REPLACE(col, '%', '')
END AS newcol
FROM test;
我现在试图在这之后将其转换为INT,但我得到了语法错误,我试图用下面的代码这样做,但我收到了语法错误.
SELECT col,
CASE WHEN (REPLACE(col, '%', '') = '') THEN NULL
ELSE CAST(REPLACE(col, '%', '') AS INT)
END AS newcol
FROM test;
但我得到了以下代码错误:
错误代码:1064.您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解使用近INT的正确语法
列"col"(varchar)如下所示
col |
---|
7% |
_ |
9 |
60% |
我想要以下列,但作为int
colInt |
---|
7 |
Null |
9 |
60 |