怎么可能?
sql语句有位操作吗?
sql语句有位操作吗?
解决方案 »
- cxf webservice 问题
- 急。。怎么把自己电脑主机做成服务器
- org.codehaus.xfire.fault.XFireFault: 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。
- ubbcode问题
- 关于struts和hibernate的中文协调问题
- javascript的问题
- org.apache.jasper.JasperException: Unable to compile class for JSP:为什么不能编译
- jsp中如何使用OCX
- 求教:使用Resin ,那么怎么设置mysql和jdbc驱动的环境变量?
- 高分求API帮助
- 新手提问谢谢!请解决错误!
- 我的连接数据库问题
int stat=1;
stat <<= 2; // 先用JAVA的位运算将条件算好
String x;
x="select * from test where stat="+stat;
Query q = sess.createQuery(x);
...
用 & 和 | 来进行 与运算 和 或运算不过hql好像是没有办法
大家再出出主意,没有就结贴了。
select * from test where substr(cast(stat/4 as String),length(cast(stat/4 as String))-1,1)='1'
其中cast及substr都应该是hql支持的函数
4 为左移2们,即从右第3位(状态为100的)
create view test1 as select *,(stat & 1) stat1,(stat /2 &1) stat2,(stat /4 &1 ) stat3 ...
from test1
这样用hql查询时,查"锁定"的,只要
select * from test1 where stat1=1
这样用hql查询时,查"激活"的,只要
select * from test1 where stat1=2
当然,最好的方法是建表时直接将每一状态建成一个字段
或直接用SQL而非hql
select * from test1 where stat2=1