tsql - 从日期时间中获取时间并将其转换为秒?

标签 tsql sql-server-2005

我正在运行 SQL Server 2005。从技术上讲,我知道如何从 tsql 日期时间中获取时间。

CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond

问题是我有一个日期时间字段,我需要本质上获取时间部分,将其转换为整数,特别是秒。然后我需要对这个整数进行一系列算术运算,我不会在这里讨论。我在 stackoverflow 上搜索过,但没有找到专门针对这个问题的问题。有任何想法吗?我真的在这里寻找最佳实践,我担心为此特定目的创建 udf,因为它完全将查询优化器抛到了九霄云外。

我已经看过这个网页,所以请不要粘贴它。 :

http://forums.devx.com/showthread.php?171561-TSQL-Converting-HH-MM-SS-to-seconds

最佳答案

使用DATEPART :

(DATEPART(HOUR, GETDATE()) * 3600) +
(DATEPART(MINUTE, GETDATE()) * 60) +
(DATEPART(SECOND, GETDATE()))

关于tsql - 从日期时间中获取时间并将其转换为秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12415715/

相关文章:

sql-server - 执行查询限制

sql - 不允许我删除 sql server 2005 management studio 中的行

SQL:从全名字段中解析名字、中间名和姓氏

SQL 更新日期时间条目

sql-server - 更新 Transact SQL 链接表时影响了太多行错误

sql - MS SQL 查询 - 如果不存在表

sql - 使用营业时间和假期计算截止日期

sql - 获取SQL Server 2005、2008服务器中某个时间段的中值

sql - 如何在变量中加入动态sql语句和普通语句

sql - 如何一次选择并导出 5,000 行借记和贷记交易,并使借记和贷记余额为零?