首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串的memcmp min()和SQLite () (memcmp比较)

字符串的memcmp min()和SQLite () (memcmp比较)
EN

Stack Overflow用户
提问于 2012-07-27 17:10:50
回答 1查看 1.7K关注 0票数 1

我正在检查Graphserver的代码,有一些SQLite命令打算找到两个字段的最小值和最大值:

select min(start_date), max(end_date) from calendar

start_date和end_date的格式类似于YYYYMMDD,这看起来不是http://www.sqlite.org/lang_datefunc.html中SQLite可以识别的格式之一。这里的http://www.sqlite.org/lang_corefunc.html文档中的min()和max()表示使用二进制排序函数进行比较。在这里( http://www.sqlite.org/datatype3.html#collation ),它说memcmp()用于比较。所以它只是在ascii数字上从字符串的开头开始逐字节比较?我不确定memcmp是做什么的。所以20120506应该小于20120507,因为6在ascii中是54,7是55是ascii,20120507是大吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-29 21:45:38

您的日期以SQLite日期和时间函数不能使用的格式存储,这与minmax函数将如何对它们进行操作无关。

如果您的日期被SQLite视为字符串,那么您的问题的答案是肯定的。如果您将日期存储为YYYYMMDD,那么根据列的定义,您的日期实际上可能会被视为数字,并进行相应的比较。

有关这方面的更多信息,请阅读data types,更具体地说是关于type affinity

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11684799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档