Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2014, 21:32   #1
Nekit9401
Пользователь
 
Аватар для Nekit9401
 
Регистрация: 11.12.2012
Сообщений: 56
По умолчанию Составить дату из частей (SQL)

Имеются отдельные переменные @year, @mounth, @day типа INT из них нужно составить одну строковую переменную типа ‘ГГГГ-ММ-ДД’, объясните пожалуйста, как это сделать?

Последний раз редактировалось Nekit9401; 24.03.2014 в 21:37.
Nekit9401 вне форума Ответить с цитированием
Старый 24.03.2014, 21:56   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Вопрос

Какая СУБД? Практически в каждой СУБД свой диалект SQL.
Streletz вне форума Ответить с цитированием
Старый 24.03.2014, 22:01   #3
Nekit9401
Пользователь
 
Аватар для Nekit9401
 
Регистрация: 11.12.2012
Сообщений: 56
По умолчанию

SQL Server
Nekit9401 вне форума Ответить с цитированием
Старый 24.03.2014, 22:13   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Nekit9401 Посмотреть сообщение
SQL Server
для преобразоывания int в varchar или что-то другое в этом духе используйте функцию cast.
Если номер месяца или дня меньше 10, то добавляете 0 спереди с помощью обычной конкатенации. Проверку номера дня и месяца можно выполнить с помощью операторов if или case/
Streletz вне форума Ответить с цитированием
Старый 24.03.2014, 22:26   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

http://technet.microsoft.com/en-us/l.../hh213228.aspx

читайте мантры, и не занимайтесь ерундой
eval вне форума Ответить с цитированием
Старый 24.03.2014, 22:26   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

http://stackoverflow.com/questions/1...ay-to-datetime
phomm вне форума Ответить с цитированием
Старый 24.03.2014, 22:44   #7
Nekit9401
Пользователь
 
Аватар для Nekit9401
 
Регистрация: 11.12.2012
Сообщений: 56
По умолчанию

Спасибо, не могли бы Вы проверить, такой код будет правильным?

Код:
IF @mounth<10
	SET @date=CAST(@year+'-0'+@mounth+'-'+@day AS VARCHAR)
IF @day<10
	SET @date=CAST(@year+'-'+@mounth+'-0'+@day AS VARCHAR)
IF @mounth<10 AND @day<10
	SET @date=CAST(@year+'-0'+@mounth+'-0'+@day AS VARCHAR)
Nekit9401 вне форума Ответить с цитированием
Старый 24.03.2014, 22:59   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
CONVERT(varchar(10),DATEADD(day,@day,DATEADD(month,@month,DATEADD(year,@year,CAST(0 AS datetime)))),120)
или (начиная с 2008-го кажется)
Код:
CONVERT(varchar(10),DATEFROMPARTS(@year,@month,@day),120)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 24.03.2014 в 23:04.
Аватар вне форума Ответить с цитированием
Старый 24.03.2014, 23:04   #9
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ужас .
eval вне форума Ответить с цитированием
Старый 24.03.2014, 23:07   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
ужас
где? .
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составить SQL-запрос. DIgorevich SQL, базы данных 15 07.11.2013 17:45
нужно составить sql-запросы bolk007 Помощь студентам 21 08.04.2013 09:36
Не могу составить SQL-запрос helpkz SQL, базы данных 36 04.04.2013 16:10
помогите составить SQL запрос!!!! MAKSA БД в Delphi 12 07.08.2009 11:12
Как получить текущую дату из SQL запроса? _ozzy_ SQL, базы данных 2 09.09.2008 21:15