今天遇到要从oracle数据库中输出数据,时间格式输出形式为('yyyy-IW-Day'),其中系统默认的是对拼音进行排序,但是我想要是从“星期一”到“星期日”这样排序。也尝试了百度,但是感觉方法有点麻烦。想到了先用形式(“yyyy-IW-dd”)进行排序后,再得到('yyyy-IW-Day')的值,但是在数据库中输入sql语句却报 “[Err] ORA-00907: 缺失右括号”这个错误,所以想请问下大家怎么处理
------解决思路----------------------
直接这样order by 语法上肯定是正确的,在sqlplus,pl/sql都没问题,你用的什么工具?
个别工具上确实存在类似问题,比如说某些报表工具
如果是报表的话,可以在select的时候多select一列,显示的时候不显示就是了
另外你的条件写得有点罗嗦
SELECT DISTINCT trunc(CREATETIME),TO_CHAR (CREATETIME, 'yyyy-IW-Day')AS SPARE
FROM DAYSTATEMENTCOLD
WHERE TO_CHAR (CREATETIME, 'yyyy-IW') = '2014-32'
ORDER BY trunc(CREATETIME) ASC