获取以天、小时、分钟和秒为单位的日期差异(AM/PM 日期)
Get date difference in days, hours, mins and secs (AM/PM date)
试图从日期的字符串条目中获取 day - hours - mins - sec
中的日期差异。时间条目也有 AM, PM
。
我正在尝试使用子字符串并将其转换为日期时间,但是 AM - PM
让它变得困难。
我有:06-OCT-15 09.30.20.000000 AM
和 06-OCT-15 09.45.20.000000 PM
我正在尝试获取:0 day(s) 12 hour(s) 15 min(s) 0 sec(s)
。
见下文SQL服务器查询。我知道这会起作用,因为我在这方面有一些经验。
WITH CTE AS (
SELECT CAST(
DATEDIFF(
DAY,
'2015-10-06 08:00:00.00 AM',
'2015-10-06 09:00:00.00 PM'
) AS
VARCHAR(1000)
) + ' day(s)' AS Days,
CAST(
DATEDIFF(
hh,
'2015-10-06 08:00:00.00 AM',
'2015-10-06 09:00:00.00 PM'
) AS VARCHAR(1000)
) + ' hour(s)' AS Hours,
CAST(
DATEDIFF(
mi,
'2015-10-06 08:00:00.00 AM',
'2015-10-06 09:00:00.00 PM'
) AS VARCHAR(1000)
) + ' min(s)' AS Minutes,
CAST(
DATEDIFF(
ss,
'2015-10-06 08:00:00.00 AM',
'2015-10-06 09:00:00.00 PM'
) AS VARCHAR(1000)
) + ' sec(s)' AS Seconds
)
SELECT Days + ' ' + Hours + ' ' + Minutes + ' ' + Seconds AS FullDifference
FROM CTE
可能会有帮助
http://www.w3schools.com/sql/func_datediff.asp
获取小时数的示例
你必须改变你的日期字符串
喜欢
select datediff(hour,CONVERT(datetime, '06-OCT-15 09:00:00.000 AM'),'06-OCT-15 08:00:00.000 PM' ) 作为差异日期
结果:
11
最大的问题似乎是将日期时间格式正确转换为 mySQL 可以使用的格式。
您可以在此处找到 mySQL 提供的格式选项来执行此操作:
试图从日期的字符串条目中获取 day - hours - mins - sec
中的日期差异。时间条目也有 AM, PM
。
我正在尝试使用子字符串并将其转换为日期时间,但是 AM - PM
让它变得困难。
我有:06-OCT-15 09.30.20.000000 AM
和 06-OCT-15 09.45.20.000000 PM
我正在尝试获取:0 day(s) 12 hour(s) 15 min(s) 0 sec(s)
。
见下文SQL服务器查询。我知道这会起作用,因为我在这方面有一些经验。
WITH CTE AS (
SELECT CAST(
DATEDIFF(
DAY,
'2015-10-06 08:00:00.00 AM',
'2015-10-06 09:00:00.00 PM'
) AS
VARCHAR(1000)
) + ' day(s)' AS Days,
CAST(
DATEDIFF(
hh,
'2015-10-06 08:00:00.00 AM',
'2015-10-06 09:00:00.00 PM'
) AS VARCHAR(1000)
) + ' hour(s)' AS Hours,
CAST(
DATEDIFF(
mi,
'2015-10-06 08:00:00.00 AM',
'2015-10-06 09:00:00.00 PM'
) AS VARCHAR(1000)
) + ' min(s)' AS Minutes,
CAST(
DATEDIFF(
ss,
'2015-10-06 08:00:00.00 AM',
'2015-10-06 09:00:00.00 PM'
) AS VARCHAR(1000)
) + ' sec(s)' AS Seconds
)
SELECT Days + ' ' + Hours + ' ' + Minutes + ' ' + Seconds AS FullDifference
FROM CTE
可能会有帮助 http://www.w3schools.com/sql/func_datediff.asp
获取小时数的示例 你必须改变你的日期字符串 喜欢
select datediff(hour,CONVERT(datetime, '06-OCT-15 09:00:00.000 AM'),'06-OCT-15 08:00:00.000 PM' ) 作为差异日期 结果: 11
最大的问题似乎是将日期时间格式正确转换为 mySQL 可以使用的格式。
您可以在此处找到 mySQL 提供的格式选项来执行此操作: