我有一张桌子。在那里我存储用户详细信息,如firstname,lastname,phonenumber。存储电话号码时,它会存储没有扩展名的数据,如 +1(013)691-1535x_ _ _ 。有时用户可能会输入扩展名,它将存储为 +1(013)691-1535x12345 。我怀疑的是如果扩展名为空,如何仅检索电话号码。如果可以使用扩展程序,我需要查看带扩展名的电话号码。
答案 0 :(得分:2)
您可以使用SUBSTRING_INDEX分割电话号码:
SELECT phone_number,SUBSTRING_INDEX(phone_number, 'x', 1) as phone_num, SUBSTRING_INDEX(phone_number, 'x', -1) as phone_ext FROM tablename;
查询结果
+-----------------------+-----------------+-----------+
| phone_number | phone_num | phone_ext |
+-----------------------+-----------------+-----------+
| +1(013)691-1535x12345 | +1(013)691-1535 | 12345 |
+-----------------------+-----------------+-----------+
现在,您的整个电话号码都有分机号码,电话号码没有分机号,只有分机号码。根据查询结果,您可以在脚本中进行“检查”并使用字段值。
答案 1 :(得分:1)
SELECT `phone_number` FROM `table` WHERE `phone_number` LIKE '+1(013)691-1535x%'