![]() |
|
Модераторы: Akina |
![]()
|
|
| Liska |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 31.10.2004 Где: Новосибирск Репутация: нет Всего: нет |
Привет
помогите, плиз.... Дан некоторый фрагмент SQL-кода: DECLARE @a CHAR(12) DECLARE @b DATETIME DECLARE @c INT SET @a=’12.2.04’ SET @c=6 Какой правильный оператор для вычисления новой даты: SET @b=@a+@c SET @b=@a+CAST(@c AS DATETIME) SET @b=CAST(@a AS DATETIME) +@c SET @b=CAST((CAST(@a AS INT)+@c) AS DATETIME) Как вообще разобраться с датой и временем? Если к переменной типа DATETIME прибавить переменную типа INT, то он ее куда прибавит, к числу, к месяцу или к году? или вообще надо конвертировать все в дату, а потом прибавлять?? Разьясните, плиз!!! |
|||
|
||||
| boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 15 Всего: 35 |
Liska, лучше использовать DATEADD. Или это вопрос из теста и надо выбрать ответ?
Если запустить этот примерчик, то второй и третий вариант дают ответ '8 Dec 2004'. Первый и четвертый не работают. -------------------- Никогда не говори никогда |
|||
|
||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
Привет.А как прибавить к дате месяц с помощью запроса?
прибавляет день. база MS SQL 2000. Это сообщение отредактировал(а) Lunatikus - 5.9.2007, 10:46 -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: нет Всего: 252 |
|
|||
|
||||
| Lunatikus |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
угу,работает.Но только если сравнивать ,Как
а вот если я захочу сделать
он покажет мне большую фигу в виде синтаксической ошибки. А зачем мне нужен IN? Вот простенькая задачка: в таблице одно поле data-даты.Другое интовое num-допустим,показывает число месяцев после указанной даты. ---01.01.2007------1--- ---06.02.2007------2--- так вот как вывести такую таблицу: ---01.01.2007--- ---06.02.2007--- ---06.03.2007--- как видно,нужно "сделать" новые даты на основе кол-ва месяцев.Если оно 1,то дата единственная. -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
||||
|
|||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
дошел до того что надо делать так:
таким образом,елси число месяцев-1,то будет выполняться условие только на одну дату(второе условие будет равно первому) Если число-2.То тоже все нормально.Берется первая дата,а второе условие берет дату на месяц позже ,Как и задумано.А вот как сделать при num>2?Есть какие-нибудь мысли? эх...было бы здорово,если бы можно было добавлять в запрос условные переходы...тогда все решалось бы легко Это сообщение отредактировал(а) Lunatikus - 5.9.2007, 11:26 -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
в общем,решил проблему,ограничив число месячев num до 12. в итоге сделал двенадцать идентичных улсовий:
Это сообщение отредактировал(а) Lunatikus - 6.9.2007, 14:02 -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
схожая прабла,потому не стал новую тему делать.
Пытаюсь перенести данные из одной таблицы в другую.В таблице,куда переношу данные поля data(datetime) и por(float).В таблице-источнике эти поля варчаровые.Подскажите,как в запросе сделать конверт правильно?То,Что у меня-не работает-выдает ошибку конвертации:
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: нет Всего: 252 |
CAST, CONVERT - читаем синтаксис
На какое поле ругается то? И текст запроса и значения пары полей - в студию! Может у тебя в данных есть пустые или Null значения? |
|||
|
||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
дату переводит конвертом,а вот с флотом праблы.ни каст ни конверт не помогает:
ругается что не может привести варчар к флоту -------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: нет Всего: 252 |
Хм... на этой тачке щаз нет MS-SQL, но ты в BOL (F1) глянь хэлп по каст или в конверт - точно помню в одном из них была таблица возможности перевода из одного типа в другой!
|
|||
|
||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
я нашел,в чем прабла.Он выдает ошибку,Как только доходит до ненулевого значения поля варчар por.И видит 0,211423325535.Его смущает запятая.Потому что елси поставить точку в варчаровской строке,то переводит спокойно.Вопрос:как везде,где стоит запятая в этом поле поменять на точку?вручную зело долго
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
| kobra |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 5 Всего: 9 |
|
|||
|
||||
| Lunatikus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 503 Регистрация: 29.6.2007 Репутация: 2 Всего: 6 |
гениально!!!!
-------------------- TheSin - небольшое игровое сообщество взрослых и молодых(L2,WoW,Aion,RFonline and other not mmorpg,not computer games). сайт гильдии |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |