作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
我是一名优秀的程序员,十分优秀!