我正在尝试在以下答案文章中模拟解决方案: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/