gpt4 book ai didi

sql-server-2008 - 如何在sql中以半小时和小时的间隔显示时间

转载 作者:行者123 更新时间:2023-12-03 23:36:50 24 4
gpt4 key购买 nike

我正在使用 SQL Server 2008,我有时间列 (varchar),时间间隔为 10 分钟。我想以半小时和小时为单位显示时间..

表(timeslot)有这个数据:

time
-----
11:10 AM
11:20 AM
11:30 AM
11:40 AM
11:50 AM
12:00 PM
12:10 PM
12:20 PM
12:30 PM
12:40 PM
12:50 PM
01:00 PM
01:10 PM
01:20 PM

我想显示这个输出:

time
-----
11:00 AM
11:30 AM
12:00 PM
12:30 PM
01:00 PM
01:30 PM

有人可以帮我解决这个问题吗?提前致谢...

最佳答案

尝试这样的事情:

SELECT 
(list of columns)
FROM
dbo.YourTableWithTheTime
WHERE
DATEPART(MINUTE, CAST(YourTimeColumnHere as TIME)) IN (0, 30)

当然 - 如果您首先为您的列使用了 适当的 数据类型 TIME,您可以将 CAST(.. 保存为 TIME ) 构造,事情会更容易......

更新:如果您需要按时间订购 - 使用此:

SELECT 
DISTINCT [time]
FROM
dbo.YourTableWithTheTime
WHERE
DATEPART(MINUTE, CAST([time] as TIME)) IN (0, 30)
ORDER BY
CAST([time] as TIME)

PS:将列命名为 time 也是一个非常糟糕的主意 - 因为这是 SQL Server 2008 中的保留关键字(针对数据类型)......

关于sql-server-2008 - 如何在sql中以半小时和小时的间隔显示时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12852681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com