我有一个特定的原因,将DataBase Table中的日期和时间作为字符串存储为以下格式
DateFmt =" dd-MM-yyyy";
TimeFmt =" hh:mm a&#34 ;;
现在,在获取时,我希望通过将字符串转换为日期和时间进行排序,并排序以在TableView中显示,因此具有较新字符串的行位于顶部。
如果我们存储日期和时间,这将工作
ORDER BY `DATE` DESC, `TIME` DESC
我们如何从String转换并按
使用顺序答案 0 :(得分:2)
使用str_to_date()
:
order by str_to_date(date, '%d-%m-%Y')
我应该补充一点:我认为没有充分的理由在数据库中以该格式存储日期。您应该使用内置日期/时间类型。它们存在是有原因的。
如果您必须将日期存储为字符串(我偶尔必须这样做),您应该使用YYYY-MM-DD格式。这是ISO标准,可以轻松转换为日期,并正确排序。
答案 1 :(得分:0)
我带来了这样的解决方案:
SQL:
SELECT * FROM NamTbl
ORDER BY STR_TO_DATE(CONCAT(DateCol,' ',TimeCol), '%d-%m-%Y %h:%i') DESC
SQLite:
"SELECT * FROM " + NamTblVar +
" ORDER BY STRFTIME('%d-%m-%Y %h:%i'," + DateKolVar + "|| ' ' ||" + TimeKolVar + ") DESC;";