我希望datetime表列采用%Y-%m-%d %H:%M:%S
格式
我在用
SELECT AIRPORT_NAME , strftime('%Y-%m-%d %H:%M:%S', 'CREATETS')as crts FROM AIRPORT_MASTER where AIRPORT_MASTER_ID = 1;
createts是我的datetime列,数据格式为“21-03-2011 12:00:00.000000”
这是一个查询,但在我的情况下不起作用,sqlite不显示任何错误,但在这种情况下没有输出
帮我弄到
“2011-03-21 08:55:36”作为输出格式
最佳答案
首先,'CREATETS'
是字符串文本,而不是列名。如果需要引用列,请删除''
引号。
其次,21-03-2011 12:00:00.000000
不是time string as understood by sqlite并且尝试使用datetime函数转换它将导致null。
从技术上讲,可以使用SUBSTR()
提取部分值并重新排序字段,将datetime值转换为sqlite可以理解的时间字符串。
但是,sql不是放置表示/格式化代码的正确位置。在Java代码中执行该操作。另外,如果只是以“原始”格式存储时间戳,比如unix时间戳(自epoch以来的秒数)或java毫秒时间戳,而不是格式化的字符串,则会更容易。