公司的开发规范手册上面写着:SQL 语句规范:不要在SQL语句里面使用to_date函数,应该通过传入date/time类型参数的方法来实现!也就是说在SQL语句里面看到to_date函数是不符合要求的。这样的话,如果查询两个时间段之间的数据,例如下面这句,应该怎么写查询语句
between to_date( '2007-10-22 20:20:20 ','yyyy-MM-DD hh-mm-ss') and to_date( '2007-10-22 22:22:22','yyyy-MM-DD hh-mm-ss')还有我不知道为什么不要用to_date(),是效率方面的原因吗?
between to_date( '2007-10-22 20:20:20 ','yyyy-MM-DD hh-mm-ss') and to_date( '2007-10-22 22:22:22','yyyy-MM-DD hh-mm-ss')还有我不知道为什么不要用to_date(),是效率方面的原因吗?
这种代码在不同的国家可以就无法使用了,而直接使用date类型就没有这种问题
s.set(2) = b;而不是使用s = 'select * from test where mydatecolumn between to_date( '2007-10-22 20:20:20 ', 'yyyy-MM-DD hh-mm-ss ') and to_date( '2007-10-22 22:22:22 ', 'yyyy-MM-DD hh-mm-ss ')'因为这样会出现数据的不一致,比如出现不符合要求的日期:2007-22-22而抛出异常。按照公司规范就不会有问题了。
ps:
在直接使用sql访问数据库的时候肯定要用to_date的。