【问题标题】:Want to use Wild Card for declared variable in Case statement想要在 Case 语句中对声明的变量使用通配符
【发布时间】:2020-11-05 11:22:33
【问题描述】:

“AND”在查询的 where 子句中

尝试在“else”部分使用 Like 运算符

AND TCD.ANI = Case when @CallerID is null then TCD.ANI Else  @CallerID end 

【问题讨论】:

  • 您的代码中没有LIKE 或通配符,这使您的问题不清楚您想要做什么。
  • 这就是我要找的。通配符如何添加到声明变量的“else”部分的语法

标签: sql string where-clause sql-like


【解决方案1】:

这是你想要的吗?

AND (@CallerID is null OR TCD.ANI LIKE @CallerID)

我没有看到很多CASE 在条件下派上用场的情况。通常情况下,事情用布尔逻辑表示更简单。

也许您也想将通配符连接到变量。在标准 SQL 中,使用字符串连接运算符||:

AND (@CallerID is null OR TCD.ANI LIKE '%' || @CallerID || '%')

【讨论】:

  • 1) CallerID 是将从报告前端传递的号码。假设用户从前端传递空值,我希望报告忽略 callerID 并获取报告。 2)但是,如果用户传递了 CallerID 并且该 ID 不完整,假设实际 ID 为 01234,但用户为此传递了 1234,我在 else 部分使用 like 运算符但无法找到语法第一点是工作但不是第二个
  • @GhiasAhmed:那么第二个表达式可以满足您的要求。
  • 这就是我要找的。通配符如何添加到声明变量的“else”部分的语法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多