大家好,我有一个代码,其中我将X和Y作为电话号码。
X数据类型varchar(10) Y数据类型varchar(100)
现在在Y列我有电子邮件地址,所以我的查询是如何只采取X + y作为电话号码,但当Y是电子邮件地址时,我不选择该行数据。
Select * from a.cus as cus_num, b.X+''+b.Y As phone number from table
他们是a和b的更多代码但是这里没有相关性所以我没有发布它。
示例数据:
cus X Y
123 12 21
234 21 xyz@gmail.com
所以我只想选择第一个cus号而不是第二个。
答案 0 :(得分:3)
您可以在Y列中查看@
:
select a.cus as cus_num,
b.X + '' + b.Y as phone number
from table
where Y not like '%@%';
答案 1 :(得分:2)
您可以在其中添加带有通配符的notlike语句: https://www.w3schools.com/sql/sql_wildcards.asp
Select * from a.cus as cus_num, b.X+''+b.Y As phone number from table where b.Y NOT LIKE('%@%')
答案 2 :(得分:1)
你可以尝试
SELECT CONCAT(X,Y) AS PhoneNumber FROM table WHERE Y NOT LIKE '%@%'
答案 3 :(得分:-1)
您可以使用REGEXP
SELECT CONCAT(X,Y) As PhoneNumber
FROM cus 在哪里注册' ^ [0-9] + $&#39 ;;