gpt4 book ai didi

sql - 仅转换 SQL Server 中日期时间的年份部分

转载 作者:行者123 更新时间:2023-12-02 22:24:15 33 4
gpt4 key购买 nike

还有其他更简单的方法可以将日期时间的年份部分转换为当前年份吗?如果不是,哪个性能更好?

尝试 #1:

CAST(DATEPART(MONTH, mydate) AS VARCHAR) + '/' + 
CAST(DATEPART(DAY, mydate) AS VARCHAR) + '/' +
CAST(YEAR(GETDATE()) AS VARCHAR) AS DATETIME

尝试#2:

DATEADD(YEAR, DATEDIFF(YEAR,  mydate, GETDATE()), mydate)

最佳答案

性能差异可以忽略不计,以更快者为准。差异将在微秒范围内。

我通常根据偏好使用 DATEADD + DATEDIFF。 VARCHAR 版本的正确格式是使用 ISO-8601 格式 YYYYMMDD,例如

CAST(STUFF(CONVERT(char(8),mydate,112),1,4,YEAR(GETDATE())) as DATETIME)

CONVERT(,,112) => YYYYMMDD。 STUFF 将前 4 个字符替换为当前年份。 YEAR() 返回一个数字,但在 STUFF 的上下文中会自动转换为 varchar。

关于sql - 仅转换 SQL Server 中日期时间的年份部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13201715/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com