【问题标题】:substring dynamic number of characters子串动态字符数
【发布时间】:2013-09-15 01:46:51
【问题描述】:

我正在处理合并在一起的 2 组数据,但它们的格式不一致。有些是 10 个字符,全是数字。其他人可能在位置 4 处有一个分隔符 :。我需要对前 4 个字符进行子串化。但如果第 4 个字符是 : 子字符串,则只有前 3 个字符。

mysql 是否具有IF 功能来根据位置 4 中的字符确定子字符串的字符数?

select substring(id, 1 , 3/4) from table1

【问题讨论】:

    标签: mysql substring


    【解决方案1】:

    您可以将字段视为用冒号分隔,并这样做以仅选择第一部分:

    SELECT SUBSTRING_INDEX(id, ':', 1)
    

    另请参阅:SUBSTRING_INDEX()

    【讨论】:

    • 感谢您的回答。我决定选择前 4 个字符,并进行修剪以防它包含:。听起来在这种情况下可能会更容易。
    猜你喜欢
    • 2018-10-01
    • 2021-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    相关资源
    最近更新 更多