datetime中的SQLite和小数秒比较

datetime中的SQLite和小数秒比较,sqlite,Sqlite,因此,我有一个以下SQLite查询: SELECT datetime('2013-10-07 08:23:19.111') = datetime('2013-10-07 08:23:19.222') 令我惊讶的是,我得到的结果是。。。1(对)。无论我在点后加上什么值,当分数值不同时总是正确的 : 在格式4、7和10中,小数秒值SS.SSS可以在小数点后有一个或多个数字。示例中只显示了三位数字,因为只有前三位数字对结果有效,但输入字符串的数字可以少于或多于三位,并且日期/时间函数仍将正常运行 是

因此,我有一个以下SQLite查询:

SELECT datetime('2013-10-07 08:23:19.111') = datetime('2013-10-07 08:23:19.222')
令我惊讶的是,我得到的结果是。。。1(对)。无论我在点后加上什么值,当分数值不同时总是正确的

:

在格式4、7和10中,小数秒值SS.SSS可以在小数点后有一个或多个数字。示例中只显示了三位数字,因为只有前三位数字对结果有效,但输入字符串的数字可以少于或多于三位,并且日期/时间函数仍将正常运行


是否有某种错误或我不明白的地方?

您链接到的页面上说:

函数的作用是:返回“YYYY-MM-DD HH:MM:SS”


如果您知道您的值的格式已经完全正确,只需直接比较字符串。否则,请将datetime()替换为strftime(),并使用
%f
将值转换为所需的格式。

的确,这是正确的。值得一提的是,在对日期时间字符串进行操作时,只有3位数字是有效的。所以查询:
选择strftime(“%Y-%m-%d%H:%m:%f”,“2013-10-07 08:23:19.111”)=strftime(“%Y-%m-%d%H:%m:%f”,“2013-10-07 08:23:19.111001”)将返回。。。1(正确)