苏飞论坛

标题: sqlite中max()函数的使用 [打印本页]

作者: 天山明月    时间: 2013-8-13 17:06
标题: sqlite中max()函数的使用
sqlite中对date类型使用max好像不能达到取最大日期的目的。使用max对date类型的字段使用时,如果有2013-1-10,2013-1-11,2013-1-9,那么最大值会是2013-1-9

问题:
如果在sqlite中取得最大日期


作者: 站长苏飞    时间: 2013-8-13 17:10
这要看你的时期是字符串还是真正的日期格式,
作者: 天山明月    时间: 2013-8-13 18:30
SQLITE中应该怎么存入date类型的数据。
这样是否正确:
insert into cmcc_businesses_info(businessName,businessDate) values('test15',date('2013-8-11'))
作者: 天山明月    时间: 2013-8-13 18:46
楼主一语中的,问题解决了,上图
作者: 天山明月    时间: 2013-8-13 18:52
我在想是不是日期前面加了0的原因:

max(X)         The max() aggregate function returns the maximum value of all values in the group. The maximum value is the value that would be returned last in an ORDER BY on the same column. Aggregate max() returns NULL if and only if there are no non-NULL values in the group.
http://www.sqlite.org/lang_aggfunc.html#maxggunc
作者: 天山明月    时间: 2013-8-13 19:03
如果是字符串类型,但是如果月份、日期小于10,在前面补0,也可以实现正常的倒序排列:
作者: 站长苏飞    时间: 2013-8-14 07:52
如果是日期类型的你先 ORDER BY UPDATETIME DESC;排序一下再取应该也是对的。你现在是怎么解决了我看3楼你说解决了
作者: 天山明月    时间: 2013-8-14 11:41
站长苏飞 发表于 2013-8-14 07:52
如果是日期类型的你先 ORDER BY UPDATETIME DESC;排序一下再取应该也是对的。你现在是怎么解决了我看3楼你 ...

还按字符串存储,这些字符串要格式化为yyyy-MM-dd
这样就没问题了


作者: 站长苏飞    时间: 2013-8-14 11:44
天山明月 发表于 2013-8-14 11:41
还按字符串存储,这些字符串要格式化为yyyy-MM-dd
这样就没问题了

了解了





欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4