删除MySQL中列中所有数据的最后一位数字

时间:2017-11-26 19:36:18

标签: mysql

只是问这是否可行:

我有一个mysql数据库'数据'和一个列'计数'其中包含

等数字 3741年 49215
345
4686794

我想知道是否有可能删除此列中每个数字的最后一个数字,因此会有以下值:

374
4921
34
468679

(对于100,000行,所以我不能手动完成:))

谢谢!

4 个答案:

答案 0 :(得分:1)

如果字段是数字或字符串并且始终是>这将起作用。 0:

UPDATE `table` SET `count` = FLOOR(`count`/10)

注意单个数字值将变为0

如果某些数字为负数,则无法给出正确的答案,而其他答案的子字符串方法则更好。

答案 1 :(得分:0)

使用MySQL SUBSTRING函数提取字符串的一部分。使用CHAR_LENGTH函数计算字符串中的字符数。

SELECT 
col,
SUBSTRING(col, 1, CHAR_LENGTH(col) - 1) AS col_trimme
FROM tbl

答案 2 :(得分:0)

是数据类型是字符串,你可以

update my_table 
set my_column  = substr(my_column, 1, length(my_column) -2)

如果是一个int你可以施放

update my_table 
set my_column  = cast(substr(cats(my_column AS varchar(16)), 1, length(my_column AS varchar(16)) -1), AS INT)

答案 3 :(得分:0)

如果字段是数字或字符串,则此方法有效:

UPDATE table SET count = SUBSTRING(count, 1, CHAR_LENGTH(count) - 1);