如何使用string
中的datetime
将sql
转换为sqlite
?
在我的sqlite数据库中,puttime
列为nvarchar
类型,并将数据存储为null,空字符串,2013-10-23,2013-10-23 13:30:25,2013 -10-24 9:30:22
我使用下面的查询进行转换,但'2013-10-24 9:30:22'无法转换成功,怎么做:
select puttime, datetime(puttime) from tb_news
结果:
PutTime datetime(puttime)
2013-05-06 2013-05-06 00:00:00
2013-10-23 2013-10-23 00:00:00
2013-10-23 13:30:25 2013-10-23 13:30:25
2013-10-23 18:00:00 2013-10-23 18:00:00
2013-10-24 17:32:33 2013-10-24 17:32:33
2013-10-24 22:49:43 2013-10-24 22:49:43
2013-10-24 9:30:22
2013-10-25 00:01:33 2013-10-25 00:01:33
感谢。
答案 0 :(得分:5)
最近的日期/时间格式SQLite期望为YYYY-MM-DD HH:MM:SS
。
查看您的数据,它会发现只有偏差为YYYY-MM-DD H:MM:SS
。
因此,我们只需在需要时添加0
:
SELECT puttime, DATETIME(
CASE SUBSTR(puttime, 14, 1) WHEN ':' THEN puttime -- Found ':' after HH
ELSE SUBSTR(puttime, 1, 11)||'0'||SUBSTR(puttime, 12) END
) FROM tb_news
答案 1 :(得分:-4)
SimpleDateFormat format = new SimpleDateFormat(""dd-MM-yyyy");
SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");
date = df2.format(format.parse(str));
试试这个先生