将日期时间转换为不同的格式

Convert datetime to different format

我正在使用 datediff 函数,但它似乎不起作用。它只是在数据扩展中给出了一个空结果。

我目前使用的是什么

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

creation_date__c 格式如下:Monday, December 05, 2016 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 无效。

知道如何解析它或我可能做错了什么吗?

我相信您正在尝试将日期时间解析为日期时间,请参阅下面的修复程序。在 SSMS 中,我从两个语句中得到相同的输出。要使用 PARSE(variable as 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