我怎么能约会? 我在sql中有以下内容
2014-3-18 2014-1-15 2014-3-20 2015-3-18
我尝试了ff代码,但它只是在我的数据库中给出了错误。 是的,列的数据类型是varchar。 此列中还有NULL值。
SELECT * FROM `locate` ORDER BY CONVERT(DateTime, `Date`,101) DESC
请帮忙。谢谢! :)
答案 0 :(得分:1)
看起来您使用的是mysql,因此无法使用 Cursor call = classObject.getCarEntry(username, Day, Type);
int distance = call .getInt(carCursor.getColumnIndex("DISTANCE"));
int time = call .getInt(carCursor.getColumnIndex("TIME"));
mssql
功能。你必须使用convert
STR_TO_DATE
有关详细信息,请参阅documentation
答案 1 :(得分:0)
通过这种方式使用订单:
TypeTag
如果有效,请告诉我。
答案 2 :(得分:0)
我猜 EventDate 是一个char或varchar而不是一个日期,否则你的order by子句会没问题。
您可以使用CONVERT将值更改为日期并按该
排序SELECT *
FROM
vw_view
ORDER BY
CONVERT(DateTime, EventDate,101) DESC
问题是,正如Sparky在评论中指出的那样,如果EventDate的值无法转换为日期,则查询将不会执行。
这意味着您应该排除坏行或让坏行转到结果的底部
要排除坏行,只需添加 WHERE IsDate(EventDate)= 1
要让糟糕的日期到底,您需要使用 CASE
e.g。
ORDER BY
CASE
WHEN IsDate(EventDate) = 1 THEN CONVERT(DateTime, EventDate,101)
ELSE null
END DESC