Cordova Javascript SQLite 按日期时间排序

Posted

技术标签:

【中文标题】Cordova Javascript SQLite 按日期时间排序【英文标题】:Cordova Javascript SQLite Order By DateTime 【发布时间】:2021-04-22 12:28:39 【问题描述】:

如何选择和排序日期时间?

我的查询:

SELECT id, title, note, lastUpdated, dateCreated FROM notes ORDER BY datetime(lastUpdated) DESC

我的桌子:

CREATE TABLE IF NOT EXISTS notes (
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    title TEXT NOT NULL, 
    note TEXT, 
    lastUpdated DATETIME,
    dateCreated DATETIME DEFAULT CURRENT_TIMESTAMP)`

我的插入:

INSERT INTO notes (
    title, note, lastUpdated) 
VALUES (?1,?2,?3)`, [$scope.note.title, $scope.note.note, new Date()]

我用 javascript new Date() 插入日期。

如果我打印此选择查询的结果:

SELECT id, title, note, lastUpdated, dateCreated FROM notes ORDER BY datetime(lastUpdated) DESC

结果如下所示:

dateCreated:'2021-01-17 09:24:13'
id:1
lastUpdated:'Mon Jan 18 2021 00:37:36 GMT-0700 (Mountain Standard Time)'
note:'Test'
title:'Title'

【问题讨论】:

lastUpdated 列的格式没有可比性。将其更改为 YYYY-MM-DD hh:mm:ss。 是的,我必须将插入更改为CURRENT_TIMESTAMP 【参考方案1】:

试试这个:

INSERT INTO notes (
    title, note, lastUpdated) 
VALUES (?1,?2,?3)`, [$scope.note.title, $scope.note.note, new Date().toISOString()]

【讨论】:

以上是关于Cordova Javascript SQLite 按日期时间排序的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 上的 Sqlite,cordova-plugin-sqlite-2 限制为 32 位

在 Windows 10 中使用 cordova-plugin-file 复制 SQLite 数据库 cordova-sqlite-storage

插件cordova-sqlite-storage的问题

Cordova/Phonegap SQLite 插件

安装cordova-sqlite-storage时出错

Cordova Android:从任意目录打开 SQLite .db 数据库