Mysql HSQL和按位操作?
我正在编写一个系统应用程序,它必须集成到现有的旧体系结构中。为此,我必须访问表中的位掩码字段;大概是这样的:Mysql HSQL和按位操作?,mysql,sql,hsqldb,Mysql,Sql,Hsqldb,我正在编写一个系统应用程序,它必须集成到现有的旧体系结构中。为此,我必须访问表中的位掩码字段;大概是这样的: SELECT * FROM directory WHERE (status & 64) | (status & 256); 我们现有的系统是在MySQL上运行的——我们有一个类似于上面的语句,它运行得很好 然而,在我必须与现有系统集成的新应用程序中,我在单元测试中使用嵌入式HSQL。在我的一生中,我无法理解如何在HSQL中执行位操作。此外,即使我能够弄明白,我也开始担心
SELECT * FROM directory WHERE (status & 64) | (status & 256);
我们现有的系统是在MySQL上运行的——我们有一个类似于上面的语句,它运行得很好
然而,在我必须与现有系统集成的新应用程序中,我在单元测试中使用嵌入式HSQL。在我的一生中,我无法理解如何在HSQL中执行位操作。此外,即使我能够弄明白,我也开始担心两个SQL引擎之间没有一条语句是兼容的
有没有关于如何做的建议?目前,我想我只需选择所有状态!=0限制结果集,当然,然后使用java选择我想要的与我目标状态匹配的特定结果集。Yekes.我从来没有找到比努力将我的嵌入式数据库从HSQL替换为MYSQL更好的解决方案 我还花时间编写了更好的单元测试;ie:针对实际数据库执行我的数据库逻辑,但所有其他层都使用模拟数据库逻辑 这就是我的收获。。。对生产中使用的同一数据库运行DDL测试,并对DDL模拟运行所有其他逻辑 对于子孙后代,以下是我用来构建嵌入式MYSQL的内容:
这些操作是使用HSQLDB中的函数完成的 请参阅BITOR、BITXOR、BITAND、BITNOT、BITANDNOT函数
按位运算符在SQL方言中并不常见。MySQL是一个例外,而不是常态。是的,这正是我在解决这个问题时学到的。令人惊讶的是,每个人都将这些作为函数而不是标准运算符来实现,但事实就是这样。谢谢