【发布时间】:2022-01-24 08:26:30
【问题描述】:
SELECT REPLACE('hello', 'e', NULL)
-- returns NULL
SELECT REPLACE('hello', '5', NULL)
-- also returns NULL -- here I'd expect it does nothing since there is no '5' in 'hello'
documentation 明确指出:
如果任一参数为 NULL,则返回 NULL。
所以行为被解释了。
是否有解决方法,这意味着如果在 hello 中的 'e' 之类的字符串中找到模式;发出 NULL 值?
【问题讨论】:
-
如果模式在
hello中not,那么输出应该是什么? -
旁注:SQL Server 2008 已完全不支持超过 2 年;你真的应该看看升级路径。
-
@Tim Biegeleisen ;如果没有找到,它应该返回 hello。如果找到,它应该返回 NULL。
标签: sql sql-server sql-server-2008