有什么办法可以在 MySQL 查询的 BETWEEN 子句中使用通配符 %% 吗?
Is there any way I can use wildcard %% in BETWEEN Clause of MySQL query?
我在MySQLtable列有一组数据
最初是这样的:
+---------+
+ color +
+---------+
+ D +
+ E +
+ F +
+ G +
+ H +
+ I +
+ J +
+---------+
所以我准备了一个查询:
SELECT color FROM app_data WHERE color BETWEEN "D" AND "I"
而且运行很好。
现在,数据已更改,搜索条件已实施。所以我的列值变成了这样:
+---------+
+ color +
+---------+
+ D +
+ E +
+ F +
+ D-F +
+ G +
+ H +
+ H-J +
+ D-G +
+ I +
+ J +
+---------+
现在在较新的数据中,我无法获取范围数据,即“D-F”、“H-J”和“D-G”。
有什么方法可以包含它们并使用 BETWEEN 运算符查找结果?
喜欢,SELECT color FROM app_data WHERE color BETWEEN "D*" AND "I*"
WHERE color BETWEEN SUBSTRING_INDEX(pattern, '-', 1)
AND SUBSTRING_INDEX(pattern, '-', -1)
?
或者你的意思是
-- For a pattern BETWEEN 'D*' AND 'F*'
WHERE color >= 'D' AND color < 'G'
?
万一有人在寻找答案,我在谷歌搜索时找到了问题的解决方案。
我已经使用 REGEXP
获得了正确的数据。
修改我的查询来自:
SELECT color FROM app_data WHERE color BETWEEN "D" AND "I"
收件人:
SELECT color FROM app_data WHERE color REGEXP "D|E|F|G|H|I"
解决了我的问题,我使用这个修改后的查询得到了所有正确的数据。
无论您要查找哪个范围,您只需要通过 REGEXP
.
中的那些
例如,如果我只想要 D
颜色的结果,那么我的查询将是这样的:
SELECT color FROM app_data WHERE color REGEXP "D"
如果我想要 D to F
中的颜色,我的查询将是这样的:
SELECT color FROM app_data WHERE color REGEXP "D|E|F"
我在MySQLtable列有一组数据
最初是这样的:
+---------+
+ color +
+---------+
+ D +
+ E +
+ F +
+ G +
+ H +
+ I +
+ J +
+---------+
所以我准备了一个查询:
SELECT color FROM app_data WHERE color BETWEEN "D" AND "I"
而且运行很好。
现在,数据已更改,搜索条件已实施。所以我的列值变成了这样:
+---------+
+ color +
+---------+
+ D +
+ E +
+ F +
+ D-F +
+ G +
+ H +
+ H-J +
+ D-G +
+ I +
+ J +
+---------+
现在在较新的数据中,我无法获取范围数据,即“D-F”、“H-J”和“D-G”。
有什么方法可以包含它们并使用 BETWEEN 运算符查找结果?
喜欢,SELECT color FROM app_data WHERE color BETWEEN "D*" AND "I*"
WHERE color BETWEEN SUBSTRING_INDEX(pattern, '-', 1)
AND SUBSTRING_INDEX(pattern, '-', -1)
? 或者你的意思是
-- For a pattern BETWEEN 'D*' AND 'F*'
WHERE color >= 'D' AND color < 'G'
?
万一有人在寻找答案,我在谷歌搜索时找到了问题的解决方案。
我已经使用 REGEXP
获得了正确的数据。
修改我的查询来自:
SELECT color FROM app_data WHERE color BETWEEN "D" AND "I"
收件人:
SELECT color FROM app_data WHERE color REGEXP "D|E|F|G|H|I"
解决了我的问题,我使用这个修改后的查询得到了所有正确的数据。
无论您要查找哪个范围,您只需要通过 REGEXP
.
例如,如果我只想要 D
颜色的结果,那么我的查询将是这样的:
SELECT color FROM app_data WHERE color REGEXP "D"
如果我想要 D to F
中的颜色,我的查询将是这样的:
SELECT color FROM app_data WHERE color REGEXP "D|E|F"