【问题标题】:SQLite order by dd:mmSQLite 按 dd:mm 排序
【发布时间】:2018-08-23 08:21:20
【问题描述】:

在我的 sqlite 数据库中,生日存储在一个字符串字段中,例如:11-09 我想订购生日,但它只查看前 2 个数字,我试过了:

sql.all('SELECT id,user,date FROM birthdays ORDER BY date DESC LIMIT 4').then(rows => {

我怎样才能让它同时显示日期和月份?

【问题讨论】:

  • 请提供样本数据、你得到的结果和你期望的结果。 HIN:以日期格式存储日期,而不是字符串

标签: sqlite sql-order-by


【解决方案1】:

我建议改用 DATE 或 DATETIME 列来存储生日。在您的应用程序的其余部分中,您将不得不根据 Unix 时间处理日期,但从长远来看,它应该简化对日期的处理。您的查询也不会改变您在那里的查询。

【讨论】:

  • 我唯一的选择是:INT、TEXT、BLOB、REAL、NUMERIC
  • 对不起,我的经验是 MySQL。早在 1970 年定义的 Unix 时间使用带符号的 32 位整数。您可以将日期列指定为整数(如果您愿意,可以将其大小限制为 32 位)以达到与我在上面描述的 DATETIME 列相同的效果。
  • 如果我将新查询更改为整数,您能帮我解决吗?
  • 我对这种方言不太熟悉,但是您必须获取生日的查询应该与 int 日期相同。据我所知,更改为 int 将是两个操作: ALTER TABLEbirthdays DROP COLUMN date;和 ALTER TABLE 生日 ADD COLUMN date INT;
猜你喜欢
  • 1970-01-01
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-24
  • 2012-12-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多