【问题标题】:I want to user 'substr' in an if statement in mysql我想在 mysql 的 if 语句中使用 'substr'
【发布时间】:2018-02-16 22:33:15
【问题描述】:

我想在 mysql 的“if 语句”中使用 substr

例如...

if(substr(member, 1, 2 ) = 'A1','one','two') as member

当我在“选择语句”中使用 substr 时,结果很好。 但是上面的查询会报错。

不能在“if-statement”中使用“substr”吗?

还有其他方法吗?

=================================

成员字段值 = 'A1/B1/C1/D1' or 'A2/B2/C2/D2' or 'A1/B2/C2/D1'........

A1,B1,C1,D1 = 是,A2,B2,C2,D2 = 否

我想将其更改如下。

成员1
答案A = 是
答案B = 是
答案C = 是
answerD = 是

成员2
答案A = 否
答案B =否
答案C =否
答案D =否

会员3
答案A = 是
答案B =否
答案C =是
答案D =否

【问题讨论】:

  • 发布您的完整查询以及样本和所需的数据集
  • 您的意思是存储过程中的IF 语句吗?有关IF 语句的语法,请参阅here,它们与查询中的IF() 函数完全不同。
  • 我很抱歉.....我省略了逗号............查询工作正常......
  • 您应该将问题标记为关闭,因为它只是一个错字。

标签: mysql if-statement substr


【解决方案1】:

这很好用

SELECT if(substr("TEST DATA", 1, 2 ) = 'A1','one','two') as member

【讨论】:

    【解决方案2】:

    你可以使用REGEXP声明:

    SELECT IF (member REGEXP '^A1', 'one', 'two') AS member FROM table;
    

    【讨论】:

    • 相当于SUBSTR(member, 2, 2),因为SQL索引是从1开始的。
    • @Barmar 谢谢,已修复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    相关资源
    最近更新 更多