【问题标题】:How can I shorten this LIKE statement in SQL Server?如何在 SQL Server 中缩短此 LIKE 语句?
【发布时间】:2019-06-11 17:46:51
【问题描述】:
+ case when 
(
    (
        PYMT.element like '____.T.T-0_______.____.________' or 
        PYMT.element like '____.T.T-K_______.____.________'
    )
    and len(PYMT.element) = 31
) 
then '' 
else '12|'
end

我正在尝试找到一种更优雅的方式来执行此like 声明。还有其他方法吗?

【问题讨论】:

  • 你有足够的声誉,知道代码图像不太受欢迎。
  • 已更新......
  • 您可以删除LEN,因为您没有使用前导通配符或尾随通配符。这是多余的。

标签: sql-server sql-like


【解决方案1】:

我看到你唯一能做的就是用一个替换LIKEs:

PYMT.element LIKE '____.T.T-[0K]_______.____.________'

而且,正如 WEI_DBA 所提到的,您可以删除 len(PYMT.element) = 31,因为 LIKE 已经处理了。

【讨论】:

  • 所以如果我做 [0K] 它意味着“0 或 K”?
  • LIKE [0K] 中表示空格可以是字符'0''K',是的。
  • 太棒了。谢谢你。我可以在 6 分钟内接受你的回答。
猜你喜欢
  • 2020-03-31
  • 2012-04-06
  • 2012-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-18
相关资源
最近更新 更多