>我有一个关于在视图中将"0"连接函数的问题。我在视图中使用的代码是:
SELECT DATEPART(ISO_WEEK, GETDATE()) + 1 AS Week, YEAR(CURRENT_TIMESTAMP) % 2000 % 100 AS Year
这给了我正确的结果。我最好希望将现在分布在同一列中的 2 列中的数据。
此外,当"周"的结果是sigle数字时,有一个前导的"0"会很棒。
我尝试的所有内容都给出了错误。
感谢您的帮助,
亲切问候
我希望(列 1: '9'( 和 (列 2: '19'( 的输出是 (列 1: '0919'(
您可以将 resiult 转换为 varchar,并将 00 附加到周的开头,然后取这些字符中的右 2 - 留下所需的输出:
SELECT
RIGHT('00'+CONVERT(VARCHAR,DATEPART(ISO_WEEK, GETDATE()) + 1),2) +''+ CONVERT(VARCHAR,YEAR(CURRENT_TIMESTAMP) % 2000 % 100) [yourcol]
FROM YOURTABLE
尝试:
SELECT
DATEPART(ISO_WEEK, GETDATE()) + 1 AS Week,
YEAR(CURRENT_TIMESTAMP) % 2000 % 100 AS Year,
RIGHT('00'+CAST(DATEPART(ISO_WEEK, '2/1/2019') + 1 AS VARCHAR(2)),2) +
CAST(YEAR('3/1/2019') % 100 AS VARCHAR(2)) AS Combined
我用常量替换了 GETDATE,以便更容易测试。