如何连接计算并在视图中使用前导“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,这样更容易测试。
我有一个关于视图中 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,这样更容易测试。