MySQL select语句访问列中十六进制值的一部分

时间:2013-06-27 19:30:18

标签: mysql select

我有一张这样的桌子:


    Type    Col1
    0       ff
    1       9f
    3       92
我想只访问col1值

的一部分

即。我想查询表,其中包含所有行返回的Col1=92之类的值 如果我用Col1=94查询,那么第0行和第1行将返回,如果我用Col1=12查询,则只返回第0行。显然,上述赋值语句需要进行一些操作才能实现。

这样的事情:     SELECT * FROM TABLE1 WHERE Col1(1)=9;除了我明白sintax不起作用......

希望这是有道理的

3 个答案:

答案 0 :(得分:1)

您至少有3个选项

首先是

where `col1` like '9%'

第二

where substr(`col1`,1,1) = "9"

第三

where left(`col1`, 1) = "9" 

答案 1 :(得分:0)

假设col1是文本字段,您可以这样做:

SELECT * FROM table1 WHERE col1 LIKE '9%';

返回col1以9.开头的任何行。

有关更多“LIKE”模式的信息,请参阅http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html

答案 2 :(得分:0)

或者,您可以使用substr(string,start,length),因此它将是:

SELECT * FROM table1 WHERE substr(col1,1,1)='9'