排序按日期“DD-MM-YYYY”格式 [英] Order by date in 'DD-MM-YYYY' format

查看:392
本文介绍了排序按日期“DD-MM-YYYY”格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有问题,按日期排序。我存储日期的文本字段我DATEBASE,当我试图订购它不给我正确的结果。

下面是我已经尝试了查询的例子。

 光标光标= databaseConnector.getDatabase()查询(
                TABELA_ preCIPITACAO,
                COLUNAS_ preCIPITACAO,
                COLUMN_ preCIPITACAO_PLUVIOMETRO_ID +=+ pluviometroId,
                空值,
                空值,
                空值,
                的strftime(%Y-%M-%D','+ COLUMN_ preCIPITACAO_DATA_ preCIPITACAO +'));
 

我试图用funcion日期('+ COLUMN_ preCIPITACAO_DATA_ preCIPITACAO +'),但它看起来像它按日期排序,但ASC或DESC不起作用。这总是给我以相同的顺序。

我知道我应该保存日期为整数,但我不想改变它知道,我想这样的一个解决方案。任何一个可以帮助?谢谢你。

编辑:

不工作。我已经试过这两种方式:

 光标光标= databaseConnector.getDatabase()查询(
                TABELA_ preCIPITACAO,
                COLUNAS_ preCIPITACAO,
                COLUMN_ preCIPITACAO_PLUVIOMETRO_ID +=+ pluviometroId,
                空值,
                空值,
                空值,
                日期(+ COLUMN_ preCIPITACAO_DATA_ preCIPITACAO +));
 

和与''

 光标光标= databaseConnector.getDatabase()查询(
                TABELA_ preCIPITACAO,
                COLUNAS_ preCIPITACAO,
                COLUMN_ preCIPITACAO_PLUVIOMETRO_ID +=+ pluviometroId,
                空值,
                空值,
                空值,
                日期('+ COLUMN_ preCIPITACAO_DATA_ preCIPITACAO +'));
 

解决方案

DD-MM-YYYY 不是的支持的格式,因此的strftime 函数(或日期)总是返回NULL。

更改DATEBASE使用格式为: YYYY-MM-DD (在这种情况下,你不需要调用任何日期的功能,只需直接使用值进行排序)。

I'm having problems to order by date. I'm storing date in a TEXT field at my datebase, when I try to order it doesn't bring me the right result.

Here is an example of a query that i have tried.

Cursor cursor = databaseConnector.getDatabase().query(
                TABELA_PRECIPITACAO, 
                COLUNAS_PRECIPITACAO, 
                COLUMN_PRECIPITACAO_PLUVIOMETRO_ID + " = " + pluviometroId,
                null, 
                null, 
                null,
                "strftime('%Y-%m-%d', '" + COLUMN_PRECIPITACAO_DATA_PRECIPITACAO + "' )" );

I've tried to use the funcion "date(' + COLUMN_PRECIPITACAO_DATA_PRECIPITACAO + "')", but it looks like it's ordering by date, but ASC or DESC doesn't work. It always bring me in the same order.

I know that I should store date as a integer, but I don't want to change it know and I want a solution like that. Any one can help? Thanks.

Edit:

Not working. I've tried those two ways:

Cursor cursor = databaseConnector.getDatabase().query(
                TABELA_PRECIPITACAO, 
                COLUNAS_PRECIPITACAO, 
                COLUMN_PRECIPITACAO_PLUVIOMETRO_ID + " = " + pluviometroId,
                null, 
                null, 
                null,
                "date( " + COLUMN_PRECIPITACAO_DATA_PRECIPITACAO + " )" );

And with ''

Cursor cursor = databaseConnector.getDatabase().query(
                TABELA_PRECIPITACAO, 
                COLUNAS_PRECIPITACAO, 
                COLUMN_PRECIPITACAO_PLUVIOMETRO_ID + " = " + pluviometroId,
                null, 
                null, 
                null,
                "date( '" + COLUMN_PRECIPITACAO_DATA_PRECIPITACAO + "' )" );

解决方案

DD-MM-YYYY is not one of the supported formats, so the strftime function (or date) always returns NULL.

Change your datebase to use the format yyyy-mm-dd (in which case you don't need to call any date function; just use the value directly for sorting).

这篇关于排序按日期“DD-MM-YYYY”格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆