导入.csv文件后的SQLite ORDER BY DATE

时间:2015-01-10 15:41:19

标签: sqlite csv

我的问题非常奇怪,因为它不会按日期字段对我的查询结果进行排序。这是我到目前为止所做的:

我创建了一个包含以下架构的表:

    CREATE TABLE temp_price_list (
        kode TEXT,
        nama TEXT,
        merk TEXT,
        jenis TEXT,
        modal TEXT,
        tanggal DATE,
        keterangan TEXT);

以下是我的csv数据:

44O2-24V,SEAL-BEAM,KOITO-II,UNIVERSAL,OL3-10,2010/12/17,OCU2-201
4401-24V,SEAL-BEAM,KOITO-II,UNIVERSAL,OL3-10,2010/10/15,OCU2-201
4401-24V,SEAL-BEAM,KYOTO,BULAT-KECIL-2COP,,2010/03/31,OL311
4402-24V,SEAL-BEAM,KYOTO,BULAT-KECIL-3COP,,2013/02/06,OLU2-IO
4402-24V,SEAL-BEAM,GEN,UNIVERSAL,,2014/04/30,IEU219
"H4-7""SEGI",SEAL-BEAM,GEN JP,UNIVERSAL,,2010/04/30,IEU211
7010-BLAT,SEAL-BEAM,RRT,12V=3COP=75W,CWU2-IO,2013/02/06,IWU2=24
7010-BLAT,SEAL-BEAM,DEPO,12V=3COP=75W,SOU222=PC,2012/01/07,IWU2=24
6014-12V,SEAL-BEAM,KYOTO,BULAT   BIG   7010-12V   3C0P,OAU2-201,2010/08/10,OEU2-10
6052-12V,SEAL-BEAM,KYOTO,SEGI    BESAR   3-COP,CFU2-IO,2013/02/06,CSU2-10
4402-24V,SEAL-BEAM,GEN,UNIVERSAL,CEU2-22,2010/05/26,IU311
4401-24V,SEAL-BEAM,GEN,UNIVERSAL  =34=CO3,CEU2-22,2010/06/30,IU311
4001-12V,SEAL-BEAM,AIKOH,UNIVERSAL,,2010/09/17,XOU229
4002-12V,SEAL-BEAM,KYOTORRT,UNIVERSAL,,2013/02/06,OLU2-IO
4002-12V,SEAL-BEAM,GEN,UNIVERSAL,,2011/04/16,CSU222
33365-87701,SYNCROMES-KEY,SB,S-75   SMALL,,2012/01/25,O3-10
33365-87503,SYNCROMES-KEY,SB,S-75   BIG,,2012/01/25,OLRT-10
33365-87503,SYNCROMES-KEY,GB,S-75   BIG,,2012/01/25,I3-11
9-33263-048-1,SYNCROMES-KEY,GTYPE,PTER  3/4,,2010/05/31,F311
8-94152-557-0,SYNCROMES-KEY,G-TYPE,PTER 1/2,,2010/03/31,F311

然后我使用以下命令导入这些数据:

.mode csv
.import C:/sqlite/test.csv temp_price_list

然后我将尝试使用以下查询获取数据:

SELECT * FROM temp_price_list ORDER BY DATE(tanggal) DESC;

然而,它并没有按日期排序,就像输入的顺序一样。伙计们好吗? 我被困在这里..

1 个答案:

答案 0 :(得分:1)

原因 - 表格中的日期信息格式不正确。

如何解决

在日期列中插入数据之前,请将数据转换为标准日期格式之一

YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD 

如下面的链接所示。 http://www.sqlite.org/lang_datefunc.html

如果要将日期插入数据库,可以使用此代码。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(new Date());

在数据库中插入字符串'date'