gpt4 book ai didi

sql - 如何识别 where 子句匹配的模式

转载 作者:行者123 更新时间:2023-12-04 23:53:58 25 4
gpt4 key购买 nike

我需要有关 T-SQL 的帮助。我的 SQL Server 中有一个存储过程,查询(示例)如下:

Select empid, empname, sal from emp
where empname like '%jo%'
and empname like '%el%'

比方说,上面的查询返回如下所示的记录:

empid empname sal   
17 john $1000
45 elena $2000

我需要在上面的选择语句中添加另一列,它应该为 %jo% 记录和 'el' 写上 'jo' %el% 记录。例如:

empid empname sal     SearchString
17 john $1000 jo
45 elena $2000 el

这可能吗?

谢谢

最佳答案

为了满足多种条件,您可以使用 CTE

  • 创建内存表
  • 将实际表连接到这个内存表
  • 检索select子句中的条件

SQL语句

;WITH Conditions (SearchString) AS (
SELECT 'jo' UNION ALL
SELECT 'el'
)
SELECT empid
, empname
, sal
, Searchstring
FROM emp e
INNER JOIN Conditions c ON e.empname LIKE '%' + c.SearchString + '%'

测试脚本

;WITH Conditions (SearchString) AS (
SELECT 'jo' UNION ALL
SELECT 'el'
)
, emp (empid, empname, sal) AS (
SELECT 17, 'john', 1000 UNION ALL
SELECT 45, 'elena', 2000
)
SELECT empid
, empname
, sal
, Searchstring
FROM emp e
INNER JOIN Conditions c ON e.empname LIKE '%' + c.SearchString + '%'

关于sql - 如何识别 where 子句匹配的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9348939/

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