Tsql 使用DATEDIFF函数在SQL Sybase中查找时差时出错

Tsql 使用DATEDIFF函数在SQL Sybase中查找时差时出错,tsql,sybase,Tsql,Sybase,我有下面的查询来查找两个日期(以分钟为单位)之间的差异 SELECT DATEDIFF(MINUTE,'28.11.2019 09:23:41:202',GETDATE()) AS time_difference 但是,我得到了错误 无法将“28.11.2019 09:23:41:202”转换为时间戳 SQLCODE=-157,ODBC 3 State=“07006” 值“28.11.2019 09:23:41:202”是通过在上一个查询中使用GETDATE()函数获得的。 这里怎么了?有什么

我有下面的查询来查找两个日期(以分钟为单位)之间的差异

SELECT DATEDIFF(MINUTE,'28.11.2019 09:23:41:202',GETDATE()) AS time_difference
但是,我得到了错误

无法将“28.11.2019 09:23:41:202”转换为时间戳 SQLCODE=-157,ODBC 3 State=“07006”

值“28.11.2019 09:23:41:202”是通过在上一个查询中使用GETDATE()函数获得的。 这里怎么了?有什么帮助吗

更新:

如果值“28.11.2019 09:23:41:202”更改为“2019.11.28”格式,则查询有效。如上所述

值“'28.11.2019 09:23:41:202'”是通过在前面的查询中使用相同的函数GETDATE()获得的。

示例来源:

示例来自:


您需要使用标准的日期-时间格式,以使其正常工作。例如,请参见以下查询:

select DateDiff(minute, '2019-11-28 08:12:34', GetDate()) as time_difference

您需要使用标准的日期-时间格式,以使其正常工作。例如,请参见以下查询:

select DateDiff(minute, '2019-11-28 08:12:34', GetDate()) as time_difference

请尝试此
选择DATEDIFF(分钟,'2019-11-27 08:55:12:564',GETDATE())作为时差
@jishansiddique Thankyu jishan.。这很有效!!但是,为了得到YYYY-MM-DD格式的值,我需要正确地进行一些额外的转换。此外,日期“27.11.2019 08:55:12:564”是使用相同的GETDATE()函数获取的。您的SQL客户端正在以某种方式格式化GETDATE()。如果您通过isql运行此函数,您将看到类似于“2019年11月28日6:58AM”的内容。使用DD.MM.YYYY格式是不好的,因为根据区域设置,月份和年份可以颠倒,并且会遇到语法问题。例如,在英国,我们使用DD.MM.YYYY,但在美国,他们假定为MM.DD.YYYY。请尝试此
选择DATEDIFF(分钟,'2019-11-27 08:55:12:564',GETDATE())作为时差
@jishansiddique thankyou jishan.。这很有效!!但是,为了得到YYYY-MM-DD格式的值,我需要正确地进行一些额外的转换。此外,日期“27.11.2019 08:55:12:564”是使用相同的GETDATE()函数获取的。您的SQL客户端正在以某种方式格式化GETDATE()。如果您通过isql运行此函数,您将看到类似于“2019年11月28日6:58AM”的内容。使用DD.MM.YYYY格式是不好的,因为根据区域设置,月份和年份可以颠倒,并且会遇到语法问题。例如,在英国,我们使用DD.MM.YYYY,但在美国,他们假设为MM.DD.YYYY。谢谢你的回答。我理解nwo必须使用YYYY-MM-DD格式,而不是DD-MM-YYYY格式。但是,值“27.11.2019 08:55:12:564”是在上一次查询中使用GETDATA()函数获得的。所以,如果我想用它来寻找差异,那么我必须做一个转换?谢谢你的反馈。如果这解决了您的问题,请将其标记为已接受的答案。日期格式YYYY-MM-DD仍然是一个问题。我可以使用的日期时间戳的格式与我的问题相同。我认为问题可能是毫秒,应该有一个句号将其与秒分开,在你的例子中,你有一个冒号。您已将“27.11.2019 08:55:12:564”作为日期时间格式。应该是'27.11.2019 08:55:12.564'。我试过了..但我没有发现问题。问题在于日期格式。仅当dateformat为YYYY.MM.DD且与DD.MM.yyyyythankyou的答案不匹配时,此选项才有效。我理解nwo必须使用YYYY-MM-DD格式,而不是DD-MM-YYYY格式。但是,值“27.11.2019 08:55:12:564”是在上一次查询中使用GETDATA()函数获得的。所以,如果我想用它来寻找差异,那么我必须做一个转换?谢谢你的反馈。如果这解决了您的问题,请将其标记为已接受的答案。日期格式YYYY-MM-DD仍然是一个问题。我可以使用的日期时间戳的格式与我的问题相同。我认为问题可能是毫秒,应该有一个句号将其与秒分开,在你的例子中,你有一个冒号。您已将“27.11.2019 08:55:12:564”作为日期时间格式。应该是'27.11.2019 08:55:12.564'。我试过了..但我没有发现问题。问题在于日期格式。仅当dateformat为YYYY.MM.DD且不与DD.MM.YYYY一起使用时,此选项才有效