Puedo convertir SQLITE formato de fecha a cadena de cualquier formato mediante strtime función
yo.e

select  strftime('%Y-%d-%m-%Y', '2012-09-13 12:44:22');

pero he Cadena que está en dd-MM-yyyy formato, Cómo puedo convertir de yyyy-MM-dd formato en sqlite así que puedo usar que en la fecha de comparación.

3 Comentarios

  1. 8

    Usar algo como esto:

    select datetime(substr(col, 7, 4) || '-' || substr(col, 4, 2) || '-' || substr(col, 1, 2)) from table;

    donde col es la columna de tabla tener la fecha en formato yyyy-MM-dd formato de

  2. 2

    Usted puede probar este

    String date = "23-03-2013";
    try {
        SimpleDateFormat format = new SimpleDateFormat(""dd-MM-yyyy");
    
        SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");
    
       date = df2.format(format.parse(str));
    
    } catch (java.text.ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
  3. 0

    Tuve un problema similar, donde la cadena de fecha había sido de forma incoherente entró y la longitud de los meses, los días y los años no fueron consistentes. Aquí es lo que yo hice para convertir cadenas de manera incompatible con formato de M/D/AAAA hasta fechas en un formato consistente para YYYY-MM-DD:

        SELECT "DISP DATE", DATE(year||'-'||month||'-'||day) as dt_frmtd 
    FROM 
    (
    SELECT *
    , CASE WHEN LENGTH(substr("DISP DATE", 1, instr("DISP DATE",'/')-1)) = 2 
    THEN substr("DISP DATE", 1, instr("DISP DATE",'/')-1)
    ELSE '0'|| substr("DISP DATE", 1, instr("DISP DATE",'/')-1)
    END as month
    , CASE WHEN LENGTH(substr(substr("DISP DATE", instr("DISP DATE",'/')+1), 1, instr(substr("DISP DATE", instr("DISP DATE",'/')+1),'/')-1)) = 2
    THEN substr(substr("DISP DATE", instr("DISP DATE",'/')+1), 1, instr(substr("DISP DATE", instr("DISP DATE",'/')+1),'/')-1)
    ELSE '0'|| substr(substr("DISP DATE", instr("DISP DATE",'/')+1), 1, instr(substr("DISP DATE", instr("DISP DATE",'/')+1),'/')-1)
    END AS day           
    , CASE WHEN LENGTH(substr(substr("DISP DATE", instr("DISP DATE",'/')+1), instr(substr("DISP DATE", instr("DISP DATE",'/')+1),'/')+1)) = 4
    THEN substr(substr("DISP DATE", instr("DISP DATE",'/')+1), instr(substr("DISP DATE", instr("DISP DATE",'/')+1),'/')+1)
    ELSE '20'|| substr(substr("DISP DATE", instr("DISP DATE",'/')+1), instr(substr("DISP DATE", instr("DISP DATE",'/')+1),'/')+1)
    END AS year 
    FROM DISP 
    )

Dejar respuesta

Please enter your comment!
Please enter your name here