我有一个SQL语句-针对这个问题进行了精简-看起来像这样:
SELECT *
FROM Customers
LEFT JOIN SMS_Blacklist ON Customers.MobileNumber = SMS_Blacklist.Mobile_Number
WHERE SMS_Blacklist.Mobile_Number IS NULL
这在大多数情况下有效,但是数据库没有数据连续性或一致性,当数据看起来像这样时:
它不应该返回记录(因为电话号码不匹配)。
我的问题是,是否可以string.replace(" ", "")
在 SQL 语句中间执行字符串函数(即),因此它可能看起来像这样(我认为可能不是):
...
ON (Customers.MobileNumber).replace(" ","") = SMS_Blacklist.Mobile_Number
...
或者我怎么能实现这样的目标?
我正在使用new SqlCommand()
C#创建 SQL 语句。
改正电话号码非常棘手。但是,如果您只想删除空格和连字符,则可以replace()
在 SQL 中执行:
SELECT c.
FROM Customers c LEFT JOIN
SMS_Blacklist b
ON b.Mobile_Number = REPLACE(REPLACE(c.MobileNumber, ' ', ''), '-', '')
WHERE b.Mobile_Number IS NULL;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句