我一直致力于调度应用程序,它有两个字段:日期和时间。
用户从日历中选择日期,用户通过下拉菜单选择时间 数据类型包括:日期时间和时间(7)
我想列出日期和时间ASC。
例如: 我想要实现的目标。
9/1/2016 8:05 AM
9/1/2016 9:00 AM
9/1/2016 10:30 AM
9/1/2016 11:00 AM
9/1/2016 2:00 PM
我收到了什么。
9/1/2016 2:00 PM
9/1/2016 8:05 AM
9/1/2016 9:00 AM
9/1/2016 10:30 AM
9/1/2016 11:00 AM
我尝试按两列日期排序,时间ASC没有成功。
能够以适当的顺序列出这些的好方法是什么?
答案 0 :(得分:0)
-- CONVERT TO DATETIME TO GET 24HR FORMAT
SELECT CONVERT(DATETIME, '9/1/2016 8:05 AM', 0)
-- Concatenate in required format
SELECT CONVERT(VARCHAR(10), CONVERT(DATETIME, '9/1/2016 8:05 AM', 0), 101)
+ ' '+ CONVERT(VARCHAR(5),CONVERT(DATETIME, '9/1/2016 8:05 AM', 0), 108)
然后根据需要尝试按ASC或DESC订购。
答案 1 :(得分:0)
我准备了一个满足你要求的例子, 如果需要进行任何更改,请检查并告知我们
declare @tbl as table
(
dt datetime
,tm time(7)
)
insert into @tbl
select '2001-02-01','12:00:00'
insert into @tbl
select '2001-01-02','13:00:00'
insert into @tbl
select '2001-01-01','15:00:00'
select convert(varchar(10),dt,101)+' '+ right(convert(varchar(25),tm,100),7) from @tbl
order by dt,tm
答案 2 :(得分:0)
如果您使用的是SQL Server,请尝试使用以下查询。
SELECT *
FROM Yourtable
ORDER BY [date],cast([Time] as time(7))