Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql复杂的if/else场景_Mysql_Case - Fatal编程技术网

mysql复杂的if/else场景

mysql复杂的if/else场景,mysql,case,Mysql,Case,我有一个电话数据库表,有4列: countrycode areacode 电话号码 分机 我遵循“规范”格式,因为我有一些国际数字要考虑。 正如命运所安排的,一些输入的数字有扩展名 我有一个查询,用于自动格式化所有内容,但扩展名除外: SELECT CONCAT('+',`countrycode`,'(',`areacode`,')', `phonenumber`) AS `fullnumber` ... 结果:+1(123)4567890或:+61(08)1234 1234 这非常好用

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

  • countrycode
  • areacode
  • 电话号码
  • 分机
<>我遵循“规范”格式,因为我有一些国际数字要考虑。 正如命运所安排的,一些输入的数字有扩展名

我有一个查询,用于自动格式化所有内容,但扩展名除外:

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)
:如果给定的条件为真,则返回
iftrue
参数。否则,返回
iffalse
参数

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

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

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

Nice,我最初尝试了IF(),我可以看到我的格式设置被关闭了。谢谢你,扎克!