gpt4 book ai didi

mysql 复杂的 if/else 场景

转载 作者:行者123 更新时间:2023-11-29 09:03:24 25 4
gpt4 key购买 nike

我有一个电话数据库,有 4 列:

  • 国家/地区代码
  • 区号
  • 电话号码
  • 扩展

我遵循“规范”格式,因为我需要考虑一些国际号码。

命运就是如此,一些输入的号码带有分机号。

我有一个查询,用于自动设置除扩展名之外的所有内容的格式:

SELECT CONCAT('+',`countrycode`,'(',`areacode`,')', `phonenumber`) AS `fullnumber` ... 

结果:+1(123)4567890 或:+61(08)1234 1234这效果很好,并且与我导出到的一些拨号器软件完美配合。

但是,我现在需要在此查询中包含扩展名。但是,我需要像这样自动格式化它:

+1(123)4567890 x123

这相当简单,但由于大多数数字没有扩展名,我需要创建一个包含 char (x) 的条件。这是我的困境,因为我仍在学习查询中的条件语句。

有人在 CONCAT 中使用奇怪的 if/else 语句吗?

最佳答案

MySQL 的 IF 语句的工作原理如下:

IF(condition, iftrue, iffalse):如果给定条件为 true,则返回 iftrue 参数。否则,返回 iffalse 参数。

因此,您的查询可能如下所示:

SELECT CONCAT('+',`countrycode`,'(',`areacode`,')', `phonenumber`, IF(`extension` IS NULL, "", CONCAT(" x", `extension`))) AS `fullnumber ...

MySQL IF 函数是多个控制流函数之一。有关这些功能的更多信息,请参阅 MySQL docs .

关于mysql 复杂的 if/else 场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7864897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com