Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как вывести первый день месяца формата 2019-08-01 из 201908  [new]
Romanov-krd
Member

Откуда:
Сообщений: 97
К примеру есть столбец column в нем данные id год+месяц
201104
201510 итп

нужно вывести первый день месяца в виде

2011-04-01
2015-10-01

в терадате для этого есть функция month_id_first_day(month_id)

в ms sql непонятно что использовать, в интернете искал , все неправильно выводит. по всей видимости какой то набор функций
14 авг 19, 15:15    [21949350]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести первый день месяца формата 2019-08-01 из 201908  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36342
Подсказка - первый день любого месяца будет первым числом.
14 авг 19, 15:17    [21949353]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести первый день месяца формата 2019-08-01 из 201908  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6639
Romanov-krd,

плюс к пониманию читайте справку по функциям времени.
14 авг 19, 15:43    [21949372]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести первый день месяца формата 2019-08-01 из 201908  [new]
andy st
Member

Откуда:
Сообщений: 741
Romanov-krd,
в терадате такую функцию кто-то написал сам
попробуйте найти человека, который напишет аналогичную функцию в MS SQL server
ну или возьмите за основу функцию из соседней темы и, пролиложив немного усилий в прочтении хелпа, напишите свою
14 авг 19, 16:23    [21949418]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести первый день месяца формата 2019-08-01 из 201908  [new]
petre
Member

Откуда: Кривой Рог
Сообщений: 42
Romanov-krd,

select cast('201104'+'01' as date)
14 авг 19, 16:54    [21949452]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести первый день месяца формата 2019-08-01 из 201908  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 925
DECLARE @month INT = 201908
SELECT CONVERT( DATE, CONVERT( VARCHAR(8), @month * 100 + 1  ) )
14 авг 19, 19:04    [21949569]     Ответить | Цитировать Сообщить модератору
 Re: Как вывести первый день месяца формата 2019-08-01 из 201908  [new]
nullin
Member

Откуда: pullin
Сообщений: 45
declare @month int = 0101;
select datefromparts(@month/100, @month%100, 1);
15 авг 19, 00:57    [21949709]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить