SQL Server - как конвертировать yyyy и m в дату - PullRequest
0 голосов
/ 21 января 2019

У меня есть два столбца:

  • год - ГГГГ - тип данных int
  • месяц - M - тип данныхint

example for the results

Мой вопрос заключается в том, как преобразовать эти столбцы в формат даты, считая день первым днем ​​месяца?

Ответы [ 4 ]

0 голосов
/ 21 января 2019

вы можете использовать это:

select datefromparts(year, month, 1) from table_name

вот ссылка: DateFromparts

0 голосов
/ 21 января 2019

Вы можете DATEFROMPARTS функция, как показано ниже:

SELECT DATEFROMPARTS([Year], [Month], 1) FROM MyTable

Последний параметр относится к дневной части, поэтому вы можете изменить его с 1 на все, что захотите:)

0 голосов
/ 21 января 2019

Попробуй это. Мой ответ таков:

SELECT 
  CAST(CAST(Year_T AS CHAR(4)) + '-'+RIGHT(CAST('0' AS CHAR(1))+cast(Month_T AS VARCHAR(2)),2)+'-'+cast('0' AS CHAR(1))+cast('1' AS CHAR(1)) AS DATE) AS NewDate
FROM MyTable
0 голосов
/ 21 января 2019

Вы можете использовать следующее (ранее SQL Server 2012):

SELECT CAST(CONVERT(VARCHAR, [Year]) + '-' + CONVERT(VARCHAR, [month]) + '-' + '01' AS DATE) 
FROM table_name

Начиная с SQL Server 2012, вы также можете использовать DATEFROMPARTS:

SELECT DATEFROMPARTS([Year], [month], 1) FROM table_name

демо: https://dbfiddle.uk/?rdbms=sqlserver_2017&fiddle=4ab24b45c9270d2880cda468aa422237

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...