将日期时间转换为其他格式

问题描述 投票:1回答:1

我正在使用datediff函数,它似乎无法正常工作。只是在数据扩展名中给出了空结果。

我目前正在使用什么

DATEDIFF(year, creation_date__c, SYSDATETIMEOFFSET()) AS AnniversaryYears

creation_date__c具有以下格式:2016年12月5日星期一12:00 AM

因此,当在w3schools上在线进行此操作时,它似乎可以正常工作:

SELECT DATEDIFF(year, PARSE(‘Monday, December 05, 2016 12:00 AM’ AS datetime), SYSDATETIMEOFFSET()) AS DateDiff;

但是当使用带有creation_date__c的解析函数时,会出现以下错误:检查查询语法时发生错误。错误:参数数据类型datetime对于解析函数的参数1无效。

关于如何解析它或我做错了什么的想法?

sql datediff
1个回答
0
投票

我相信您正在尝试将日期时间解析为日期时间,请参阅下面的修复程序。在SSMS中,我从两个语句中得到相同的输出。要使用PARSE(变量为DATETIME),您需要具有一个可以转换为DATETIME的类型的变量。]​​>

DECLARE @creation_date__c  VARCHAR(MAX) = 'Monday, December 05, 2016 12:00 AM' ; 

SELECT DATEDIFF(year, PARSE(@creation_date__c as datetime), SYSDATETIMEOFFSET()) AS 
DateDiff
© www.soinside.com 2019 - 2024. All rights reserved.