gpt4 book ai didi

sql - LTRIM/RTRIM - 但只有第一个/最后一个字符是空格时?

转载 作者:行者123 更新时间:2023-12-02 09:16:53 26 4
gpt4 key购买 nike

不确定我还能在哪里问这个问题...但我正在查看我们系统中的一些代码,并在我们的数据清理过程之一中遇到了这个...

UPDATE #X SET
Email = CASE
WHEN LEFT(Email, 1) = ' ' OR RIGHT(Email, 1) = ' '
THEN LTRIM(RTRIM(Email))
ELSE Email
END

这对我来说似乎毫无意义,并且不知道为什么它不只是写成:

UPDATE #X SET Email = LTRIM(RTRIM(Email))

是否有一些我不知道的好处或者可能存在一些数据问题,例如隐式转换错误或它正在避免的问题?有很多像这样的不必要的代码,我想开始清理。

它并没有明显节省时间。我运行了统计 IO 和时间以及查询计划,它们都是相同的。

最佳答案

这毫无意义,但出于不同的原因。大概应该写成:

UPDATE #X
SET Email = LTRIM(RTRIM(Email))
WHERE Email LIKE ' %' OR EMAIL LIKE '% ';

如果值不会更改,则没有理由尝试更新。

注释:

  • SET 实际上应该放在设置值的第一行。好吧,这是一种审美观点。
  • 我认为LIKE在寻找空格时更清晰。另外,它更强大,因为它可以寻找字符组。而且,它可以是可控制的,允许使用索引(尽管在本例中不是)。

关于sql - LTRIM/RTRIM - 但只有第一个/最后一个字符是空格时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46228842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com