Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server sql中的datetime到totalminute_Sql Server_Sql Server 2005 - Fatal编程技术网

Sql server sql中的datetime到totalminute

Sql server sql中的datetime到totalminute,sql-server,sql-server-2005,Sql Server,Sql Server 2005,如何获取sql datetime的总分钟数 比如说: select getdate() from table 这样,我会得到一切,但我只想得到总分钟数。例如, 如果时间是07:10:35,我要430 如何做到这一点 该字段的值为01-01-2001 07:10:40 我想要的结果仅为430((7*60)+10)。此查询将返回午夜后的分钟数 declare @now datetime = getdate() declare @midnight datetime = CAST( FLOOR( CA

如何获取sql datetime的总分钟数

比如说:

select getdate() from table
这样,我会得到一切,但我只想得到总分钟数。例如, 如果时间是
07:10:35
,我要
430

如何做到这一点

该字段的值为
01-01-2001 07:10:40

我想要的结果仅为
430
((7*60)+10)。

此查询将返回午夜后的分钟数

declare @now datetime = getdate()
declare @midnight datetime = CAST( FLOOR( CAST( @now AS FLOAT ) ) AS DATETIME )
select datediff(mi, @midnight,@now)
代码

CAST( FLOOR( CAST( "yourDateTimeHere" AS FLOAT ) ) AS DATETIME )
将任何日期时间转换为午夜。使用datediff和“mi”函数获取午夜过后的分钟数

使用联机丛书了解更多日期和时间数学

以下是一个示例:

DECLARE @dt datetime 
SET @dt = '01-01-2001 07:10:20'
SELECT DATEDIFF(MINUTE, DATEADD(DAY, DATEDIFF(DAY, 0, @dt), 0), @dt)

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

您的问题不是特别清楚。返回此错误(无法为局部变量指定默认值。)哦,抱歉;我错过了您使用SQL Server 2005的事实。我会纠正的。这里的术语“午夜”可能会误导你,因为你可能会认为它的意思是
23:59:59
,但实际上它是
00:00:00
。i、 e.如果您希望根据2016年12月31日的“午夜”进行一些计算,您可能希望2017年12月31日11:59:59,或者2017年1月1日00:00:00,但可能不是12月31日00:00:00,这就是你上面的代码给你的。我认为“午夜”这个词在编码和24小时/军事时间方面是非常清楚的。00:00:00总是新的一天的开始,所以如果你说“2016年12月31日的午夜”,它应该总是指2016/12/31 00:00:00。即使有12个小时的时钟和AM/PM指示器,12:00:00 AM是午夜,而它被AM指定为上午,只是它从12点开始,这是误导。