0

我有 1 个表“代码”

code    price
10***   10
11***   11
12***   12
13***   13
100**   100
112**   110
  1. 搜索代码“11220”将返回价格“110”
  2. 搜索代码“11201”将返回价格“11”

那么如何生成这种类型的查询呢?

4

2 回答 2

1

你没有在你的问题中解释太多,但也许你正在寻找这样的东西

SELECT price
  FROM code
 WHERE '11220' LIKE REPLACE(code, '*', '_')
 ORDER BY CHAR_LENGTH(REPLACE(code, '*', '')) DESC
 LIMIT 1

输出:

| 价格 |
|-------|
| 110 |

这是SQLFiddle演示

于 2013-09-02T05:58:16.363 回答
0

使用这样的查询

SELECT  price FROM code where code = "your search value";

或者

 SELECT price FROM code WHERE code LIKE 'your search value%';
于 2013-09-02T05:50:25.910 回答