我有 1 个表“代码”
code price
10*** 10
11*** 11
12*** 12
13*** 13
100** 100
112** 110
- 搜索代码“11220”将返回价格“110”
- 搜索代码“11201”将返回价格“11”
那么如何生成这种类型的查询呢?
你没有在你的问题中解释太多,但也许你正在寻找这样的东西
SELECT price
FROM code
WHERE '11220' LIKE REPLACE(code, '*', '_')
ORDER BY CHAR_LENGTH(REPLACE(code, '*', '')) DESC
LIMIT 1
输出:
| 价格 | |-------| | 110 |
这是SQLFiddle演示
使用这样的查询
SELECT price FROM code where code = "your search value";
或者
SELECT price FROM code WHERE code LIKE 'your search value%';