sqlite转换'dd.MM.yyyy'格式化String到目前为止

2re*_*d13 4 sqlite android

我的android上有一个sqlite数据库,有一个datetime列,其中包含一个格式为dd.MM.yyyy的日期.这不是我的数据库,我不能改变Dateformat.我想比较数据库中的日期和String,它表示一个secon日期,但我尝试的所有内容都失败了.如何将此列转换为有效的可比较日期?date(),dattime()sdfttime()一切都返回NULL.

小智 7

我在谷歌搜索"sqlite3 date ddmmyyyy",这篇文章是最好的解决方案(也是唯一一个在我列出的帖子中为我工作的):

问题: SQLite表包含格式的日期DD/MM/YYYY,需要转换为SQLite本机格式YYYY-MM-DD

问题示例:

sqlite> select id, calendar_day from tbl1;
id;calendar_day
4248281;2011-06-19
4248282;2011-06-19
4248283;19/06/2011
4248284;19/06/2011
Run Code Online (Sandbox Code Playgroud)

解决案例:

sqlite> update tbl1 set calendar_day = substr(calendar_day, 7) || "-" || substr(calendar_day,4,2)  || "-" || substr(calendar_day, 1,2) where id>4248282;
Run Code Online (Sandbox Code Playgroud)

结果示例:

sqlite> select id, calendar_day from tbl1;
id;calendar_day
4248281;2011-06-19
4248282;2011-06-19
4248283;2011-06-19
4248284;2011-06-19
Run Code Online (Sandbox Code Playgroud)

谢谢你们!

其他职位视察:

  1. Sqlite将字符串转换为日期
  2. SOLite:SQLite中的日期格式化程序
  3. 如何在SQLite中将datetime转换为日期格式?
  4. Sqlite将字符串转换为日期
  5. 如何将DD-MM-YYYY日期格式字符串转换为YYYY-MM-DD日期格式字符串或Objective-C中的NSDate对象?


Ser*_*tov 1

您想在数据库 (SQL) 中还是在程序代码中执行此操作?在Java中你可以使用SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
Date d = sdf.parse("21.03.1997");
Run Code Online (Sandbox Code Playgroud)