如何使用 Sql 查询从数据行中获取精确匹配
How to get exact match from data row using Sql query
您好,我的数据行 (ID) 为
12?15?6?11?51?
1?15?6?11?51?
&
我想搜索等于 1 (id) 的数字。为此当我使用
%1% 这将 return 匹配结果作为两行
%1?% 这将 return 匹配结果作为两行
%?1?% 这将 return 匹配结果为 null
%?1% 这将 return 匹配结果作为两行
对于 ID 1,结果应该只有第二行。
请为此提供适当的查询。
谢谢
SELECT * FROM TABLE WHERE ID LIKE '1?_%' ;
如果您包含以 1 开头的内容,这将起作用?
您可以使用
CREATE TABLE T(
ID VARCHAR(45)
);
INSERT INTO T VALUES
('12?15?6?11?51?'),
('1?15?6?11?51? &');
SELECT *
FROM T
WHERE ID LIKE '[1][^0-9]%';
Returns:
+-----------------+
| ID |
+-----------------+
| 1?15?6?11?51? & |
+-----------------+
SELECT * FROM TableName WHERE ID LIKE '1?%' OR ID LIKE '%?1?%'
您好,我的数据行 (ID) 为
12?15?6?11?51?
1?15?6?11?51? &
我想搜索等于 1 (id) 的数字。为此当我使用
%1% 这将 return 匹配结果作为两行
%1?% 这将 return 匹配结果作为两行
%?1?% 这将 return 匹配结果为 null
%?1% 这将 return 匹配结果作为两行
对于 ID 1,结果应该只有第二行。 请为此提供适当的查询。 谢谢
SELECT * FROM TABLE WHERE ID LIKE '1?_%' ;
如果您包含以 1 开头的内容,这将起作用?
您可以使用
CREATE TABLE T(
ID VARCHAR(45)
);
INSERT INTO T VALUES
('12?15?6?11?51?'),
('1?15?6?11?51? &');
SELECT *
FROM T
WHERE ID LIKE '[1][^0-9]%';
Returns:
+-----------------+
| ID |
+-----------------+
| 1?15?6?11?51? & |
+-----------------+
SELECT * FROM TableName WHERE ID LIKE '1?%' OR ID LIKE '%?1?%'