gpt4 book ai didi

sql - 替换日期时间日期中的年份

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

我有一个表,其中有一列 (dateDT),格式为日期时间,并且在我的 Select 中输入了年份变量 (@selYear),格式为 int。

如何使用变量输入替换表中日期中的年份并以日期时间格式返回结果(在选择中)?

我尝试了以下方法,但这返回了错误的日期/年份:

CONVERT(DATETIME, (@selYear + MONTH(dateDT) + DAY(dateDT))) AS dateDT,

示例:

@selYear = 2014
dateDT = 2010-05-02 00:00:00.000

在这种情况下我的结果应该是:

dateDT = 2014-05-02 00:00:00.000

最佳答案

使用 DATEADD 的解决方案功能:

DECLARE @selYear VARCHAR(4) = 2014
DECLARE @dateDT DATETIME = '2010-05-02 00:00:00.000'


SELECT DATEADD(YEAR,@selYear - YEAR(@dateDT),@dateDT)
<小时/>

这是比当前年份更小的示例:

DECLARE @selYear INT = 2009
DECLARE @dateDT DATETIME = '2010-05-02 00:00:00.000'


SELECT DATEADD(YEAR,@selYear - YEAR(@dateDT),@dateDT)

关于sql - 替换日期时间日期中的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23350048/

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