Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Формат даты. Наименование месяца на русском языке / 10 сообщений из 10, страница 1 из 1
12.11.2020, 13:15
    #40017487
chasovoy96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
Уважаемые коллеги, добрый день!
Прошу Вашей помощи, вы не смогли бы мне напомнить как вывести дату с наименованием месяца на русском языке т.е. например:
"12 ноября"

В наличие у меня MS SQL 2008

Буду Вам очень признателен и благодарен за оказанную помощь!
...
Рейтинг: 0 / 0
12.11.2020, 13:53
    #40017508
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
chasovoy96,

Код: sql
1.
select format(getdate(), 'dd MMMM yyyy', 'ru-RU')




а я чет забыл в 2008 может format и не быть.

тогда выкручивайтесь с помощью
Код: sql
1.
2.
3.
set language russian;

select datename(month, getdate());
...
Рейтинг: 0 / 0
12.11.2020, 14:56
    #40017529
chasovoy96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
felix_ff, Благодарю за ответ!
Поступил вот так:
convert(varchar(2), dateonly, 104)+' '+datename(month, dateonly) as 'Дата отключения',
В итоге получаю в своём случае такую картину:

12 Ноябрь, скажите а никак нельзя сделать именно 12 Ноября ???
...
Рейтинг: 0 / 0
12.11.2020, 15:16
    #40017542
chasovoy96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
т.е. я прошу Вашей помощи как вывести именно (Января, Февраля, Марта, Апреля и.т.д) а сейчас некорректно Январь, Февраль, Март
...
Рейтинг: 0 / 0
12.11.2020, 15:25
    #40017544
WGA
WGA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
chasovoy96,

Не проще ли задать свою функцию? С CASE WHEN... и так по 12 месяцам.
...
Рейтинг: 0 / 0
12.11.2020, 15:31
    #40017548
chasovoy96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
WGA, Прошу прощения а можно подсказать как вывести например текущий день - 12 Ноября

case
when dateonly = 'Январь' then 'Января'
when dateonly = 'Февраль' then 'Февраля'
when dateonly = 'Март' then 'Марта'
when dateonly = 'Апрель' then 'Апрель'
when dateonly = 'Май' then 'Мая'
when dateonly = 'Июнь' then 'Июня'
when dateonly = 'Июль' then 'Июля'
when dateonly = 'Август' then 'Августа'
when dateonly = 'Сентябрь' then 'Сентября'
when dateonly = 'Октябрь' then 'Октября'
when dateonly = 'Ноябрь' then 'Ноября'
when dateonly = 'Декабрь' then 'Декабря'
else
''
end as 'Дата отключения ',
...
Рейтинг: 0 / 0
12.11.2020, 15:32
    #40017549
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
chasovoy96,

ну не умеет он (datename) скольнять падежи, там инфа вроде берется из sys.syslanguages (но не точно)

поэтому тут вариант написать свою какую нибудь скалярку в виде

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
create function dbo.fn_getstringdate (@date datetime)
returns varchar(255)
as begin
     
return cast(datepart(dd, @date) as varchar(2)) + ' ' + 
        case datepart(mm, @date)
              when 1 then 'января'
              when 2 then 'февраля'
              when 3 then 'марта'
              when 4 then 'апреля'
              when 5 then 'мая'
              when 6 then 'июня'
              when 7 then 'июля'
              when 8 then 'августа'
              when 9 then 'сентября'
              when 10 then 'октября'
              when 11 then 'ноября'
              when 12  then 'декабря'
         end + ' ' + cast(datepart(yyyy, @date) as varchar(4)) + ' года'
end
go

select [dbo].[fn_getstringdate] ('20201112')
...
Рейтинг: 0 / 0
13.11.2020, 12:18
    #40017868
chasovoy96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
felix_ff, Коллеги благодарю Вас за оказанную помощь! Очень Вам признателен!
Функцию я написал, с этим я разобрался, но прошу прощения возможно дурацкий вопрос, но как ее использовать в своем запросе.

Например у меня есть такой запрос и мне необходимо применить функцию для "Дата отключения"

;WITH CTE AS(
select
se_upload_off.OBJ_FIL as 'Филиал', se_upload_off.OBJ_PO as 'ПО',
se_upload_off.phone as 'Телефон', convert(varchar(10), dateonly, 104) as 'Дата отключения',
ROW_NUMBER() OVER (PARTITION BY se_upload_off.CTG_NM, se_upload_off.OBJ_ADDR, se_upload_off.phone, dateonly, timeonly ORDER BY dateonly) as RN
from se_supa_dg, se_upload_off
)
select [Филиал],[ПО],[Дата отключения], [RN]
from cte
where RN = 1
order by [Дата отключения]
...
Рейтинг: 0 / 0
13.11.2020, 12:29
    #40017873
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
chasovoy96,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
;WITH CTE AS(
select
se_upload_off.OBJ_FIL as 'Филиал', se_upload_off.OBJ_PO as 'ПО',
se_upload_off.phone as 'Телефон', convert(varchar(10), dateonly, 104) as 'Дата отключения',
ROW_NUMBER() OVER (PARTITION BY se_upload_off.CTG_NM, se_upload_off.OBJ_ADDR, se_upload_off.phone, dateonly, timeonly ORDER BY dateonly) as RN
from se_supa_dg, se_upload_off
)
select [Филиал],[ПО],

[dbo].[fn_getstringdate]([Дата отключения]) as [Дата отключения], [RN]
from cte
where RN = 1
order by [Дата отключения]
...
Рейтинг: 0 / 0
13.11.2020, 12:33
    #40017875
chasovoy96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формат даты. Наименование месяца на русском языке
felix_ff, Благодарю Вас! Теперь мне стало многое понятно.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Формат даты. Наименование месяца на русском языке / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]