项目开发过程中,有功能需要针对不同类型的数据库进行模糊字段、时间段的查询,现总结兼容性如下,供参考。

 

不同数据库查询兼容性总结
数据库 查询普通字符串(varchar) 模糊查询单引号 模糊查询百分号、下划线 查询时间的语法(DATE、TIMESTAMP)
mysql name like \'%key%\' name like \'%\'\'%\' name like \'%\\%%\' datetime >= \'2017-11-23\' and datetime <= \'2017-11-30\'
PostgreSQL name like \'%key%\' name like \'%\'\'%\' name like \'%\\%%\' datetime >= \'2017-11-23\' and datetime <= \'2017-11-30\'
SQLServer(MSSQLServer和MSSQLServer2014/2016) name like \'%key%\' name like \'%\'\'%\' name like \'%[%]%\' datetime >= \'2017-11-23\' and datetime <= \'2017-11-30\'
Sy name like \'%key%\' name like \'%\'\'%\' name like \'%[%]%\' datetime >= \'2017-11-23\' and datetime <= \'2017-11-30\'
达梦 name like \'%key%\' name like \'%\'\'%\' name like \'%\\%%\' escape \'\\\' datetime >= \'2017-11-23\' and datetime <= \'2017-11-30\'
DB2 name like \'%key%\' name like \'%\'\'%\' name like \'%\\%%\' escape \'\\\' datetime >= \'2017-11-23\' and datetime <= \'2017-11-30\'
oracle name like \'%key%\' name like \'%\'\'%\' name like \'%\\%%\' escape \'\\\' datetime >= TO_DATE(\'2017-11-23\',\'yyyy-MM-dd\') and datetime <= TO_DATE(\'2017-11-25\',\'yyyy-MM-dd\')

 

收藏 打印