sql - 当日期列具有一位数字的月份和日期时,SQLite将字符串转换为日期

标签 sql string sqlite date

我正在尝试在以下答案文章中模拟解决方案:Sqlite convert string to date

我遇到的问题是我的原始文本日期字段包含以下格式的日期:

1/5/2014 0:00:00 


代替:

01/05/2014 0:00:00


我该如何解释这一单位数字的月/日变化,并根据自己的目的修改代码?我想不出一个像样的方法。我曾考虑过使用excel创建可以加入的转换表。有没有更优雅的方法?

在2014年10月2日编辑:

我以为会有81种可能的组合可供识别。还是我没有想到一种更简单的方法?

1/1/
1/2/
1/3/
1/4/
1/5/
1/6/
1/7/
1/8/
1/9/

2/1/
2/2/
2/3/
2/4/
2/5/
2/6/
2/7/
2/8/
2/9/

...

最佳答案

一位数或两位数字段有八种不同的组合;您只需要检查所有它们:

SELECT CASE
       WHEN Trans_Date LIKE '_/_/____ _:__:__'  THEN substr(Trans_Date, 10, 1)
       WHEN Trans_Date LIKE '_/_/____ __:__:__' THEN substr(Trans_Date, 10, 2)
       ...
       END AS Hour,
       ...
FROM LS2014

关于sql - 当日期列具有一位数字的月份和日期时,SQLite将字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26149960/

相关文章:

MySql 从两个表中选择聚合

sql - phpmyadmin 无赖

c - 打印不显示所有字符的大长度字符串

java - 用于操作数据库的类,可在 Android 和 Java 桌面上运行

sql - Rownum 子句之间不起作用 - Oracle

sql - 禁止基于 WHERE 子句的 SELECT 输出

c++ - C++中的Unicode字符串索引

python - 在 pandas 的列上按 `df.str.split` 过滤行

django - 夹层富文本字段

mysql - SQL SELECT QUERY - 来自两个表