按asc排序SQLite

时间:2018-05-31 15:45:53

标签: python-2.7 sqlite

我正在使用SQLite python-2.7。在我的SQLite数据库中,我包含一个date字段,该字段以dd-MM-yyyy格式存储日期。

31/02/2018
30/02/2017
01/06/2018

我如何按升序排序。

2 个答案:

答案 0 :(得分:3)

尝试此查询:

SELECT date(substr(`date_column`,7,4)||'-'||substr(`date_column`,4,2)||'-'||substr(`date_column`,1,2)) as text_date FROM `table` order by text_date asc

答案 1 :(得分:1)

首先使用

获取所有行
connect = sqlite3.connect('datanase_file')
cursor = connect.execute('select date from table_name')
rows = cursor.fetchall()

然后将日期从纪元转换为秒,以便您可以对它们进行排序

for row in rows:
    t = time.strptime(row[0],'%d/%m/%Y')
    converted_time = time.mktime(t)

然后将类型为INT的converted_time列添加到数据库中。

然后用

更新您的数据库
connect.execute('''UPDATE table_name SET converted_time = ? WHERE date = ?''',
               (converted_time, row[0]))

然后你可以用任何程序对它进行排序。