如何连接计算并在视图中使用前导“0”

How to concat a calculation and use leading '0' in a view

我有一个关于视图中 concat 函数前导“0”的问题。 我在视图中使用的代码是:

SELECT DATEPART(ISO_WEEK, GETDATE()) + 1 AS Week, YEAR(CURRENT_TIMESTAMP) % 2000 % 100 AS Year

这给了我正确的结果。 我希望现在的数据分布在同一列的 2 列中。

另外,当 'Week' 的结果是个位数时,有一个前导“0”会很棒。

我尝试的一切都出错了。

感谢您的帮助,

亲切的问候

我希望 (column1: '9') 和 (column2: '19') 的输出为 (column1: '0919')

您可以将您的结果转换为 varchar,并将 00 附加到周的开始,然后取这些字符的 right2 - 留下所需的输出:

 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,这样更容易测试。