Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串上的SQLite min()和max()(memcmp比较)_Sqlite - Fatal编程技术网

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

字符串上的SQLite min()和max()(memcmp比较),sqlite,Sqlite,我正在检查的代码中,有一些SQLite命令打算查找两个字段的最小值和最大值: 从日历中选择最小值(开始日期)、最大值(结束日期) 开始日期和结束日期的格式类似于YYYYMMDD,这看起来不是SQLite在中识别的格式之一。这里记录的min()和max()表示二进制排序函数用于比较。这里()表示memcmp()用于比较。所以它只是从ascii数字的字符串开始逐字节比较?我不知道memcmp做什么。因此,假设20120506小于20120507,因为6在ascii中是54,7在ascii中是55,所

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

从日历中选择最小值(开始日期)、最大值(结束日期)


开始日期和结束日期的格式类似于YYYYMMDD,这看起来不是SQLite在中识别的格式之一。这里记录的min()和max()表示二进制排序函数用于比较。这里()表示memcmp()用于比较。所以它只是从ascii数字的字符串开始逐字节比较?我不知道memcmp做什么。因此,假设20120506小于20120507,因为6在ascii中是54,7在ascii中是55,所以20120507更大?

事实上,您的日期以SQLite日期和时间函数无法使用的格式存储,这与
min
max
函数如何对其进行操作无关

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


有关这方面的更多信息,请阅读about,更具体地说是about。

我的案例是专栏is TEXT。当然,它们都是数字。