我知道您可以使用date() function将日期时间转换为日期:
sqlite> select date('2000-01-01 10:00:00');
2000-01-01
但是为什么SQLite3's cast expression如in>
sqlite> select cast('2000-01-01 10:00:00' as date); 2000
仅返回年份?
即使使用显式的datetime()设置也仅返回年份:
sqlite> select cast(datetime('2000-01-01 10:00:00') as date); 2000
或:
sqlite> select cast(datetime('now') as date); 2019
查看Postgresql,它可以同时解决这两个问题:
postgresql> select date('2000-01-01 10:00:00'); 2000-01-01 postgresql> select cast('2000-01-01 10:00:00' as date); 2000-01-01
对SQLite3的技术解释是什么-对我来说是意外的-行为?
我知道您可以使用date()函数将日期时间转换为日期:sqlite> select date('2000-01-01 10:00:00'); 2000-01-01但是,为什么SQLite3的强制转换表达式(如sqlite>中的select)...
对于SQLite,没有Date
数据类型。如他们的文档中所述:https://www.sqlite.org/datatype3.html