如何在视图中连接计算和使用前导'0'



>我有一个关于在视图中将"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,以便更容易测试。

最新更新