mysql - 如果最后一个字符不是数字,则删除它

标签 mysql

如果不是数字,我想删除字符串的最后一个字符。

输入栏
atg167d
atg645
MSC587f
atg6692

输出列
atg167
atg645
MSC587
atg6692

最佳答案

您可以使用SUBSTR(inputColumn, -1) 获取最后一个字符,然后检查它是否在“0”和“9”之间。如果是,则该列以数字结尾。如果没有,请使用 SUBSTR 删除最后一个字符:

SELECT
  CASE
    WHEN SUBSTR(inCol, -1) BETWEEN '0' AND '9' THEN inCol
    ELSE SUBSTR(inCol, 1, LENGTH(inCol) - 1)
    END AS outCol
FROM myTable

有一个有效的 SQL Fiddle here

关于mysql - 如果最后一个字符不是数字,则删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26047128/

相关文章:

MySQL - LEFT JOIN 基于日期时间列的最新记录

c# - 使用 Visual Studio 连接远程 Mysql 数据库

mysql - 将数据库查询的值返回到 LinkedHashMap

mysql - 支付操作失败后,如何在 Magento 中禁用 MySQL 查询回滚?

仅当值也存在于其他表中时,MYSQL UPDATE

PHP mysql_query 更新总是返回 true

php - 如何从 url 中查找 slug 名称并进行动态查询语句

mysql - 无法从函数返回

mysql - 如何更改服务器上sql的系统变量

mysql - SQL - 多个 INNERJOIN 最快的查询