我有很多这样的10位数字

0987654321

我想要一个将删除0并添加353的sql查询。

我只想输入10位数字

请问有什么机构可以帮助我吗?

最佳答案

使用CASE表达式检查长度。

询问

SELECT
    `your_column_name`,
    CASE WHEN LENGTH(`your_column_name`) = 10
    AND LEFT(`your_column_name`, 1) = '0'
        THEN CONCAT('353', RIGHT(`your_column_name`, 9))
        ELSE `your_column_name` END as `new_column_name`
FROM `your_table_name`;


或者,如果您想更新该特定列。然后

询问

UPDATE `your_table_name`
SET `your_column_name` = CONCAT('353', RIGHT(`your_column_name`, 9))
WHERE LENGTH(`your_column_name`) = 10
AND LEFT(`your_column_name`, 1) = '0';

10-06 13:47