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

时间:2019-05-30 14:27:37

标签: sql-server concatenation leading-zero

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

each

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

另外,当“周”的结果为单个数字时,最好以0开头。

我尝试的所有内容均出现错误。

感谢您的帮助,

亲切的问候

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

2 个答案:

答案 0 :(得分:0)

您可以将剩余部分转换为varchar,然后在星期的开头添加00,然后使用这些字符的right2-为您提供所需的输出:

 SELECT 
 RIGHT('00'+CONVERT(VARCHAR,DATEPART(ISO_WEEK, GETDATE()) + 1),2) +''+ CONVERT(VARCHAR,YEAR(CURRENT_TIMESTAMP) % 2000 % 100) [yourcol]
 FROM YOURTABLE

答案 1 :(得分:0)

尝试:

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,因此更易于测试。