在条件似乎不起作用的T-SQL中使用replace

时间:2018-06-17 00:00:22

标签: sql-server tsql

环境:SQL Server 2017

这是一个有效的T-SQL查询:

SELECT replace(email, '.', '') as EMAIL
FROM usermaster
WHERE email = 'abc.def@gmail.com'

执行时,此查询会按预期返回abcdef@gmail.com

根据我的需要,我在比较电子邮件时必须忽略点。这是我想要的查询:

SELECT email
FROM usermaster
WHERE replace(email, '.', '') = 'abcdef@gmail.com'

但是,此查询不会返回任何记录。从前面的查询可以明显看出,我应该将abc.def@gmail.com作为输出。我错过了什么?问候。

1 个答案:

答案 0 :(得分:4)

您确定在第一次查询时收到.COM吗?

SELECT email
FROM usermaster
WHERE replace(email, '.', '') = 'abcdef@gmailcom'  -- notice no .com