Как выполнить расчет и использовать ведущий '0' в представлении - PullRequest
0 голосов
/ 30 мая 2019

У меня есть вопрос о функции concat с двойным '0' в представлении. код, который я использовал в представлении:

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

Это дает мне правильный результат. Я бы предпочел иметь данные, которые теперь распределены по 2 столбцам в одном столбце.

Также было бы здорово иметь начальный «0», когда результатом «Недели» является цифра сиглы.

Все, что я пробовал, выдало ошибку.

Спасибо за вашу помощь,

С уважением

Я ожидаю, что выходные данные (column1: '9') и (column2: '19') будут (column1: '0919')

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

Попробуйте:

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 константой, чтобы ее было проще тестировать.

0 голосов
/ 30 мая 2019

Вы можете преобразовать свой результат в varchar и добавить 00 к началу недели, а затем взять право2 из этих символов - оставив желаемый результат:

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