Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 3
Регистрация: 27.11.2012
Сообщений: 146
1

Преобразование дат

21.10.2018, 13:09. Показов 1194. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На входе есть год и месяц (числа).
Нужно вернуть дату в формате yyyy.mm.dd
При этом это должен быть последний день данного месяца. Подскажите, пожалуйста, какой функцией можно воспользоваться.
Спасибо.

Добавлено через 6 минут
ms sql 2008
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2018, 13:09
Ответы с готовыми решениями:

Преобразование дат
Помогите с преобразованием дат, а то как то совсем плохо с ними( У меня две БД, в одной дата в...

Преобразование дат
Метод javafx.scene.control.DatePicker.setValue() возвращает выбранную дату типом LocalDate. Метод...

Преобразование дат в Delphi 7?
Добрый день! Помогите решить задачу в Delphi! Необходимо создать форму с двумя Edit'ми. В первое...

Преобразование 2 форматов дат к одному
Есть 2 строки: String s1 = "26 мая 2016"; String s2 = "26 may 2016"; Можно ли их как то...

3
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
21.10.2018, 13:26 2
Лучший ответ Сообщение было отмечено dima-dima как решение

Решение

T-SQL
1
dateadd(day, -1, dateadd(month, месяц + 1, dateadd(year, год - 1900, '1900')))
1
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,269
21.10.2018, 15:55 3
T-SQL
1
2
DECLARE @Y INT=2017, @M INT=4;
SELECT CONVERT(CHAR(10),CAST(CAST(@Y*10000+@M*100+101 AS CHAR)AS DATE),102);
Покороче:
T-SQL
1
2
DECLARE @Y INT=2017, @M INT=4;
SELECT STUFF(STUFF(CAST(@Y*10000+@M*100+101 AS CHAR),7,0,'.'),5,0,'.');
Добавлено через 9 минут
Я неправ, ибо нельзя так просто прибавлять дни или месяцы.
Для декабря получится, конечно, ерунда.
Правильно так:
T-SQL
1
2
DECLARE @Y INT=2017, @M INT=12;
SELECT CONVERT(CHAR(10),DATEADD(MONTH,1,STR(@Y*10000+@M*100+1)),102);
1
1 / 1 / 3
Регистрация: 27.11.2012
Сообщений: 146
21.10.2018, 17:53  [ТС] 4
Только месяц+1 не нужно. Просто месяц.
0
21.10.2018, 17:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2018, 17:53
Помогаю со студенческими работами здесь

Преобразование календарных дат в текст
Бодрого времени суток, вам!) Собственно мне необходим код программы, которая бы преобразовывала...

Преобразование дат с формат DD/MM/YYYY HH:MM:SS
есть лог файл там есть одно поле, содержащее число, например 1103685238.785 как по-быстрому...

Как делать преобразование дат в Excel?
В ячейке листа занесена дата в формате 'M' т.е. отображается месяц (Июнь). Необходимо преобразовать...

Преобразование таблицы-группировка регионов и дат
Здравствуйте. Нужно преобразовать таблицу (точнее несколько, но они однотипные) для использования в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru