SQL Server : replace year of datetime with current year in Select

标签 sql sql-server date datetime stored-procedures

我正在使用以下存储过程选择数据,并将 dateDT 保存为日期时间。

这里有人可以告诉我如何替换下面转换结果中的年份,以便始终是当前年份(与表中保存的年份无关)?

SELECT      dateID,
            CONVERT(VARCHAR(11), dateDT, 106) AS dateDT,
            CONVERT(VARCHAR(10), dateDT, 126) AS dateDTShort,
            countries,
            regions
FROM        DaysFixed
WHERE       countries LIKE '%'+@selCountry+'%'
OR          regions LIKE '%'+@selCountry+'%'
ORDER BY    dateID
FOR XML PATH('datesDT'), ELEMENTS, TYPE, ROOT('root')

非常感谢,迈克。

最佳答案

您可以更改转换后的年份。以下是日期格式的示例:

        CONVERT(VARCHAR(7), dateDT, 106) + CAST(year(getdate() as varchar(4)) AS dateDT,
        STUFF(CONVERT(VARCHAR(10), dateDT, 126), 1, 4, CAST(year(getdate() as varchar(4)))
             ) AS dateDTShort,

关于SQL Server : replace year of datetime with current year in Select,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23323688/

相关文章:

javascript - 使用javascript在mongodb中存储日期

mysql - 如何使用一两条SQL语句检索多个用户的最新帖子?

mysql - 时间戳字段上的 ORDER BY 使我的查询变慢。如何优化呢?

sql - 摆脱 SQL Server 中的 "Magic"数字

javascript - 时间戳到文本

javascript - For 数组中的循环值

mysql - 如何安全地在行中运行多个查询?

sql - Oracle:带条件的全文搜索

SQL Server : success and failure combination

sql-server - SQL Server 如何在 NVARCHAR(max) 中存储超过 4000 个字符?