我有很多像这样的10位数字
0987654321
我想要一个sql查询,它将删除0并添加353。
我只想用10位数字
是否有任何身体可以帮助我吗?
答案 0 :(得分:0)
UPDATE tablename
SET column = CONCAT('353', SUBSTRING(column, 2))
WHERE LENGTH(column) = 10;
这会将列''列'的内容设置为353 +<原始字符串,没有第一个字符>,对所有人而言只有10个字符。
答案 1 :(得分:0)
使用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';