Sql 日期时间顺序依据

Sql 日期时间顺序依据,sql,sql-order-by,Sql,Sql Order By,我有一个包含新闻数据的网站,我想显示最新的时间数据, 我有一个字段列_time包含8个数据。为什么我使用此SQL: select * from table_name order by waktu desc 结果是: 28 Jan 2013 | 15:36:47 28 Jan 2013 | 15:30:48 27 Jan 2013 | 21:38:36 27 Jan 2013 | 21:38:32 27 Jan 2013 | 21:38:29 11 Feb 2013 | 20:41:05 11

我有一个包含新闻数据的网站,我想显示最新的时间数据, 我有一个字段列_time包含8个数据。为什么我使用此SQL:

select * from table_name order by waktu desc
结果是:

28 Jan 2013 | 15:36:47
28 Jan 2013 | 15:30:48
27 Jan 2013 | 21:38:36
27 Jan 2013 | 21:38:32
27 Jan 2013 | 21:38:29
11 Feb 2013 | 20:41:05
11 Feb 2013 | 20:40:37
11 Feb 2013 | 20:36:11
而不是这个

11 Feb 2013 | 20:41:05
11 Feb 2013 | 20:40:37
11 Feb 2013 | 20:36:11
28 Jan 2013 | 15:36:47
28 Jan 2013 | 15:30:48
27 Jan 2013 | 21:38:36
27 Jan 2013 | 21:38:32
27 Jan 2013 | 21:38:29

该列按字符数据排序,键入
varchar
text


您可能希望使用
时间戳
日期时间
作为数据类型,具体取决于您的秘密关系数据库。

尝试按最新记录(而不仅仅是时间)排序()

如果您只需要按时间订购,而不考虑日期,则使用;(如果您使用的是sql server 2008以上版本,也可以转换为时间)


此列的数据类型是什么如果您想按,为什么按waktu订购?你的问题不清楚。是的,你能告诉我们“waktu”列的数据类型是什么吗?@Satya:type data是varchar(22),因为我在waktu columnthx使用php date(“dmy:H:i:s”)来回答,但我没有谈论类型数据,如果我使用datetime,这绝对可以正确排序。我谈论的字段(text/varchar)包含日期,但不能正确排序。有什么想法吗?@DonnyAgus:嗯,我说的是数据类型,因为您可以使用正确的数据类型获得所需的排序顺序。另外,请告诉我们您正在使用的RDBMS。
Select * from table_name
Order by convert(Datetime,replace(your_column,' | ',' ')) desc
Order by convert(Datetime, substring(your_column,
         charindex('|',your_column,1)+2,len(your_column))) desc