如何在sqlite中更改时间格式?

如何在sqlite中更改时间格式?,sqlite,Sqlite,我想在sqlite中将日期格式“20100101”更改为“2010-01-01” SELECT strftime('%Y-%m-%d','20100101'); 但是输出是5032-02-09,如何使用sqlite命令获取2010-01-01 只要字符串不在其中一个中,就不能使用内置的 必须使用纯字符串操作:提取字段,并在字段之间插入连字符: SELECT substr(MyDate, 1, 4) || '-' || substr(MyDate, 5, 2) || '-' ||

我想在sqlite中将日期格式“20100101”更改为“2010-01-01”

SELECT  strftime('%Y-%m-%d','20100101');

但是输出是5032-02-09,如何使用sqlite命令获取2010-01-01

只要字符串不在其中一个中,就不能使用内置的

必须使用纯字符串操作:提取字段,并在字段之间插入连字符:

SELECT substr(MyDate, 1, 4) || '-' ||
       substr(MyDate, 5, 2) || '-' ||
       substr(MyDate, 7, 2)
FROM (SELECT '20100101' AS MyDate)

“20100101”不是有效的SQLite日期字符串。SQLite没有“datetime”数据类型,使用字符串存储标准的“yyyy-mm-dd”格式的日期。此处对此进行了解释:。sqlite中的所有时间数据都已采用“yyyymmdd”的形式,如何将其更改为“yyyy-mm-dd”?请将其视为字符串,而不是时间,同时使用正确的格式。它只是一种字符串操作,即获取子字符串并用破折号表示它们。请参阅此处的手册,其中有一个示例可以满足您的要求:@RyanVincent实际上,20100101是一个有效日期,作为儒略日编号。