这样的sql不知道能不能写出来,同时不能用正则啊.因为其实用的hibernate,hibernate不支持
正 则 啊从新在整理下需求:需求如下:现在想实现,将字段value内容全部是空格的数据检索出来. 测试数据如下 
id              value 
1                  1  
2                    
3                    
4                3 4 
记录2,3的value内容,分别为1个空格,和2个空格 
需要返回结果为记录2,3. 不知道这个需求不能用正则能否实现啊?

解决方案 »

  1.   

     select *from tb_test1 where trim(value)='';或:select *from tb_test1 where replace(value,' ','')='';
      

  2.   


    可以用正则实现。regexp '^ *$'mysql>  select id,`value`,length(`value`) from t_nil2000;
    +----+-------+-----------------+
    | id | value | length(`value`) |
    +----+-------+-----------------+
    |  1 | 1     |               1 |
    |  2 |       |               1 |
    |  3 |       |               2 |
    |  4 | 3 4   |               3 |
    +----+-------+-----------------+
    4 rows in set (0.00 sec)mysql> select * from t_nil2000 where trim(`value`)='';
    +----+-------+
    | id | value |
    +----+-------+
    |  2 |       |
    |  3 |       |
    +----+-------+
    2 rows in set (0.06 sec)mysql> select * from t_nil2000 where `value` regexp '^ *$';
    +----+-------+
    | id | value |
    +----+-------+
    |  2 |       |
    |  3 |       |
    +----+-------+
    2 rows in set (0.00 sec)mysql>
      

  3.   

    这么厉害的高手回复啊.............................感谢啊..
    可是不能用正则啊.........................这个需求不允许用正则啊,因为用hql是不支持正则的啊
    不知道高手还有没有其他的办法啊.
      

  4.   

    那就像上面那样的直接用mysql内部的函数吧