exc*_*man -2 sql sql-server string-matching
我在 SQL Server 上有一个表,其中有两列,如下所示。
| 旧值 | 新价值 |
|---|---|
| 申请号:123456789 | 申请号:89898989 |
| 随机乱码: ,请求编号: | 随机乱码:,请求编号:12121212 |
我希望能够过滤表,如果两列都OldValue以“ReqNo:”NewValue开头,后跟 8 位数字,并且与此模式完全匹配。
这意味着第一行将出现在我的输出中,但不会出现在第二行中。
我知道如何在 python 中执行此操作,但对 SQL Server 仍然陌生,并且似乎找不到正确的语法。
请帮忙。
您可以LIKE在此处使用 SQL Server 的增强运算符:
SELECT *
FROM yourTable
WHERE OldValue LIKE 'ReqNo: [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' AND
NewValue LIKE 'ReqNo: [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]';
Run Code Online (Sandbox Code Playgroud)