在Java web开发中经常需要根据更新时间进行排序,一般来说涉及到日期时间的字段都把它定义成date型。如果需要把该字段显示在页面上则需要对其进行转换,很容易出错。我的方法是只要不进行日期的加减运算一律定义成varchar型,这样在后台不需要进行格式转换。但是在排序时需要将其用SQL函数转换为日期型,否则容易出现错误。
在oracle中转换的方式如下:
order by to_date(a.update_time,'yyyy-mm-dd hh24:mi:ss') desc
日期时间格式中分钟mi之所以写成这样是因为不能和mm月相同,否则执行sql会报出“format code appears twince”的错误。这样处理是一种比较严谨的方式,实际上直接对日期字符串排序也不会有任何问题,只要你的格式定义为yyyy-mm-dd即可。