Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Как в прямом запросе проверить на пустую дату? (число прочтений - 10065 )
temrmal
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 42
Зарегистрирован: 13. Января 2011
Как в прямом запросе проверить на пустую дату?
09. Марта 2011 :: 17:06
Печать  
Текст -
           |SELECT НачислениеПроцентовОстаткиОбороты.Договор [Договор $Справочник.Договоры]
           |      , NullIf(НачислениеПроцентовОстаткиОбороты.Период, ПеняПоПроцентамОстаткиОбороты.Период) Период
           |      , NullIf(ПеняПоПроцентамОстаткиОбороты.Период, '17530101') Период
           |        , (CASE WHEN CAST(НачислениеПроцентовОстаткиОбороты.Период ='        ' THEN ПеняПоПроцентамОстаткиОбороты.Период ELSE НачислениеПроцентовОстаткиОбороты.Период END ) ПериодОбщий

не работает.
Беру 2 ВТ ОСТАТКИОБОРОТЫ. Соединяю. и хочу поставить условие выбора, если колонка ВТ1.Период пустая, тогда подставлять период из ВТ2.

Спасибо заранее!
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Как в прямом запросе проверить на пустую дату?
Ответ #1 - 09. Марта 2011 :: 17:21
Печать  
Видимо что-то типа
Код
Выбрать все
|CASE WHEN ISNULL(НачислениеПроцентовОстаткиОбороты.Период,'17530101')='17530101'
|THEN ПеняПоПроцентамОстаткиОбороты.Период
|ELSE НачислениеПроцентовОстаткиОбороты.Период
|END Период 


Возможно надо будет CAST добавить
  
Наверх
ICQ  
IP записан
 
temrmal
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 42
Зарегистрирован: 13. Января 2011
Re: Как в прямом запросе проверить на пустую дату?
Ответ #2 - 10. Марта 2011 :: 07:17
Печать  
да нет, в том то и дело, что '17530101' воспринимает как 01.01.1753,
делал cast, даже преобразовывал период в число, и пустой период '  .  .  ' становится 0, сравнивал с нулем, не получается
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Как в прямом запросе проверить на пустую дату?
Ответ #3 - 10. Марта 2011 :: 07:30
Печать  
Эмм
а nullif - это разве не инструкция ДБФ-ного движка?
в ДБФе пустые даты, емнип, по другмоу хранятся (17530101 - это ограничение типа ДатеТайм)


Сколько раз себе твердил - сначала думай, потом говори Улыбка


Внимательно смотри в CASE
у тебя там со скобками ппц какой-то.
Если делаешь CAST - то внутри надо указывать As <тип данных>

Структуру ВТ сходу не помню - если в Period не может быть 17530101 - то вполне достаточно IsNull(НачислениеПроцентовОстаткиОбороты.Период, ПеняПоПроцентамОстаткиОбороты.Период).
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Как в прямом запросе проверить на пустую дату?
Ответ #4 - 10. Марта 2011 :: 07:34
Печать  
(0) по моему надо использовать  ISNULL

ps  без  case
и приведи запрос полностью а то из 0 не очень понятно что надо получить
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Как в прямом запросе проверить на пустую дату?
Ответ #5 - 10. Марта 2011 :: 07:57
Печать  
temrmal писал(а) 10. Марта 2011 :: 07:17:
да нет, в том то и дело, что '17530101' воспринимает как 01.01.1753,
делал cast, даже преобразовывал период в число, и пустой период '  .  .  ' становится 0, сравнивал с нулем, не получается

Из твоего запроса приведенного тобой бессмысленного кусочка текста не ясно - откуда берутся данные, не ясно, то ли тебе надо сравнить с пустой датой (т.е. 17530101) или с отстутствием данных в колонке присоединенной ВТ (т.е. NULL). Поэтому, в моем примере, через ISNULL проверяю на отсутствие данных, если это так, то подставляю (временно) пустую дату, далее через CASE сравниваю полученную в п.1 дату с пустой датой (т.к. у меня стоит просто '17530101', то эту строку и надо будет привести к дате при помощи CAST), и если это так, то беру данные ПеняПоПроцентамОстаткиОбороты.Период иначе дата заполнена и не пустая, поэтому берем данные НачислениеПроцентовОстаткиОбороты.Период
Далее придумывать задачу, что там у тебя может быть, а что не может и т.д. мне просто лень.
З.Ы. Не стесняйся приводить побольше кода и комментариев
  
Наверх
ICQ  
IP записан
 
temrmal
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 42
Зарегистрирован: 13. Января 2011
Re: Как в прямом запросе проверить на пустую дату?
Ответ #6 - 10. Марта 2011 :: 08:12
Печать  
           |SELECT НачислениеПроцентовОстаткиОбороты.Договор [Договор $Справочник.Договоры]
           |      , NullIf(НачислениеПроцентовОстаткиОбороты.Период, '17530101') Период1
           |      , NullIf(ПеняПоПроцентамОстаткиОбороты.Период, '17530101') Период2
           |        , (CASE WHEN CAST(НачислениеПроцентовОстаткиОбороты.Период AS datetime) = CAST ('        ' AS datetime) THEN ПеняПоПроцентамОстаткиОбороты.Период ELSE НачислениеПроцентовОстаткиОбороты.Период END ) ПериодОбщий
           |      , Sum(НачислениеПроцентовОстаткиОбороты.СуммаНачальныйОстаток) СуммаПроцентыНачОст
           |      , Sum(НачислениеПроцентовОстаткиОбороты.СуммаПриход) СуммаПроцентыПриход
           |      , Sum(НачислениеПроцентовОстаткиОбороты.СуммаРасход) СуммаПроцентыРасход
           |      , Sum(НачислениеПроцентовОстаткиОбороты.СуммаКонечныйОстаток) СуммаПроцентыКонОст
           |      , Sum(НачислениеОДОстаткиОбороты.СуммаНачальныйОстаток) СуммаНачислениеОДНачОст
           |      , Sum(НачислениеОДОстаткиОбороты.СуммаПриход) СуммаНачислениеОДПриход
           |      , Sum(НачислениеОДОстаткиОбороты.СуммаРасход) СуммаНачислениеОДРасход
           |      , Sum(НачислениеОДОстаткиОбороты.СуммаКонечныйОстаток) СуммаНачислениеОДКонОст
           |      , Sum(ПеняПоПроцентамОстаткиОбороты.СуммаНачальныйОстаток) СуммаПеняПоПроцентамНачОст
           |      , Sum(ПеняПоПроцентамОстаткиОбороты.СуммаПриход) СуммаПеняПоПроцентамПриход
           |      , Sum(ПеняПоПроцентамОстаткиОбороты.СуммаРасход) СуммаПеняПоПроцентамРасход
           |      , Sum(ПеняПоПроцентамОстаткиОбороты.СуммаКонечныйОстаток) СуммаПеняПоПроцентамСуммаКонОст
           |      , Sum(ПеняПоОДОстаткиОбороты.СуммаНачальныйОстаток) СуммаПеняПоОДНачОст
           |      , Sum(ПеняПоОДОстаткиОбороты.СуммаПриход) СуммаПеняПоОДПриход
           |      , Sum(ПеняПоОДОстаткиОбороты.СуммаРасход) СуммаПеняПоОДРасход
           |      , Sum(ПеняПоОДОстаткиОбороты.СуммаКонечныйОстаток) СуммаПеняПоОДКонОст
           |      , Sum(ОстатокОДОстаткиОбороты.СуммаНачальныйОстаток) СуммаОстатокОДНачальныйОстаток
           |      , Sum(ОстатокОДОстаткиОбороты.СуммаПриход) СуммаОстатокОДПриход
           |      , Sum(ОстатокОДОстаткиОбороты.СуммаРасход) СуммаОстатокОДРасход
           |      , Sum(ОстатокОДОстаткиОбороты.СуммаКонечныйОстаток) СуммаОстатокОДКонечныйОстаток
           |FROM $РегистрОстаткиОбороты.НачислениеПроцентов(:НачДата,
           |            :ДатаКонцаЗапроса~,
           |            День,
           |            ДвиженияИГраницыПериода,,
           |            (Договор IN (:ВыбДоговор)),
           |            (Договор, КредитныйДокумент),) AS НачислениеПроцентовОстаткиОбороты
           |      LEFT OUTER JOIN $РегистрОстаткиОбороты.НачислениеОД(:НачДата,
           |            :ДатаКонцаЗапроса~,
           |            День,
           |            ДвиженияИГраницыПериода,,
           |            (Договор IN (:ВыбДоговор)),
           |            (Договор, КредитныйДокумент),) AS НачислениеОДОстаткиОбороты ON НачислениеПроцентовОстаткиОбороты.Период = НачислениеОДОстаткиОбороты.Период AND НачислениеПроцентовОстаткиОбороты.Договор = НачислениеОДОстаткиОбороты.Договор AND НачислениеПроцентовОстаткиОбороты.КредитныйДокумент = НачислениеОДОстаткиОбороты.КредитныйДокумент
           |      LEFT OUTER JOIN $РегистрОстаткиОбороты.ПеняПоОД(:НачДата,
           |            :ДатаКонцаЗапроса~,
           |            День,
           |            ДвиженияИГраницыПериода,,
           |            (Договор IN (:ВыбДоговор)),
           |            (Договор, КредитныйДокумент),) AS ПеняПоОДОстаткиОбороты ON НачислениеПроцентовОстаткиОбороты.Период = ПеняПоОДОстаткиОбороты.Период AND НачислениеПроцентовОстаткиОбороты.Договор = ПеняПоОДОстаткиОбороты.Договор AND НачислениеПроцентовОстаткиОбороты.КредитныйДокумент = ПеняПоОДОстаткиОбороты.КредитныйДокумент
           |      FULL OUTER JOIN $РегистрОстаткиОбороты.ПеняПоПроцентам(:НачДата,
           |            :ДатаКонцаЗапроса~,
           |            День,
           |            ДвиженияИГраницыПериода,,
           |            (Договор IN (:ВыбДоговор)),
           |            (Договор, КредитныйДокумент),) AS ПеняПоПроцентамОстаткиОбороты ON НачислениеПроцентовОстаткиОбороты.Период = ПеняПоПроцентамОстаткиОбороты.Период AND НачислениеПроцентовОстаткиОбороты.Договор = ПеняПоПроцентамОстаткиОбороты.Договор AND НачислениеПроцентовОстаткиОбороты.КредитныйДокумент = ПеняПоПроцентамОстаткиОбороты.КредитныйДокумент
           |      LEFT OUTER JOIN $РегистрОстаткиОбороты.ОстатокОД(:НачДата,
           |            :ДатаКонцаЗапроса~,
           |            День,
           |            ДвиженияИГраницыПериода,,
           |            (Договор IN (:ВыбДоговор)),,) AS ОстатокОДОстаткиОбороты ON НачислениеПроцентовОстаткиОбороты.Период = ОстатокОДОстаткиОбороты.Период AND НачислениеПроцентовОстаткиОбороты.Договор = ОстатокОДОстаткиОбороты.Договор AND НачислениеПроцентовОстаткиОбороты.КредитныйДокумент = ОстатокОДОстаткиОбороты.КредитныйДокумент
           |GROUP BY НачислениеПроцентовОстаткиОбороты.Договор
           |      , НачислениеПроцентовОстаткиОбороты.Период
           |      , ПеняПоПроцентамОстаткиОбороты.Период
           |";


Так вот, когда идет полное внешнее соединение и группировка, я хочу чтобы колонка "ПериодОбщий" содержала в себе значение колонки "Период1", а если там пустое значение, (т.е. при соединении такой даты нет, и там получается '  .  .  '), тогда берет значение из колонки "Период2".



  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Как в прямом запросе проверить на пустую дату?
Ответ #7 - 10. Марта 2011 :: 08:28
Печать  
(CASE WHEN CAST(НачислениеПроцентовОстаткиОбороты.Период AS datetime) = CAST ('17530101' AS datetime) THEN ПеняПоПроцентамОстаткиОбороты.Период ELSE НачислениеПроцентовОстаткиОбороты.Период END ) ПериодОбщий


но насколько я понимаю в базе не должно быть в таблицах ra
и rg значений за период 17530101. Если в таблицах есть такие записи это говорит об ошибках в базе.
  
Наверх
 
IP записан
 
temrmal
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 42
Зарегистрирован: 13. Января 2011
Re: Как в прямом запросе проверить на пустую дату?
Ответ #8 - 10. Марта 2011 :: 08:56
Печать  
вот результат
  

_________001.jpg ( 128 KB | Загрузки )
_________001.jpg
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Как в прямом запросе проверить на пустую дату?
Ответ #9 - 10. Марта 2011 :: 09:23
Печать  
Код
Выбрать все
	     |SELECT НачислениеПроцентовОстаткиОбороты.Договор [Договор $Справочник.Договоры]
	     |	,НачислениеПроцентовОстаткиОбороты.Период Период
		 |,Sum(НачислениеПроцентовОстаткиОбороты.СуммаНачальныйОстаток) СуммаПроцентыНачОст
	     |	, Sum(НачислениеПроцентовОстаткиОбороты.СуммаПриход) СуммаПроцентыПриход
	     |	, Sum(НачислениеПроцентовОстаткиОбороты.СуммаРасход) СуммаПроцентыРасход
	     |	, Sum(НачислениеПроцентовОстаткиОбороты.СуммаКонечныйОстаток) СуммаПроцентыКонОст
	     |	, Sum(НачислениеОДОстаткиОбороты.СуммаНачальныйОстаток) СуммаНачислениеОДНачОст
	     |	, Sum(НачислениеОДОстаткиОбороты.СуммаПриход) СуммаНачислениеОДПриход
	     |	, Sum(НачислениеОДОстаткиОбороты.СуммаРасход) СуммаНачислениеОДРасход
	     |	, Sum(НачислениеОДОстаткиОбороты.СуммаКонечныйОстаток) СуммаНачислениеОДКонОст
	     |	, Sum(ПеняПоПроцентамОстаткиОбороты.СуммаНачальныйОстаток) СуммаПеняПоПроцентамНачОст
	     |	, Sum(ПеняПоПроцентамОстаткиОбороты.СуммаПриход) СуммаПеняПоПроцентамПриход
	     |	, Sum(ПеняПоПроцентамОстаткиОбороты.СуммаРасход) СуммаПеняПоПроцентамРасход
	     |	, Sum(ПеняПоПроцентамОстаткиОбороты.СуммаКонечныйОстаток) СуммаПеняПоПроцентамСуммаКонОст
	     |	, Sum(ПеняПоОДОстаткиОбороты.СуммаНачальныйОстаток) СуммаПеняПоОДНачОст
	     |	, Sum(ПеняПоОДОстаткиОбороты.СуммаПриход) СуммаПеняПоОДПриход
	     |	, Sum(ПеняПоОДОстаткиОбороты.СуммаРасход) СуммаПеняПоОДРасход
	     |	, Sum(ПеняПоОДОстаткиОбороты.СуммаКонечныйОстаток) СуммаПеняПоОДКонОст
	     |	, Sum(ОстатокОДОстаткиОбороты.СуммаНачальныйОстаток) СуммаОстатокОДНачальныйОстаток
	     |	, Sum(ОстатокОДОстаткиОбороты.СуммаПриход) СуммаОстатокОДПриход
	     |	, Sum(ОстатокОДОстаткиОбороты.СуммаРасход) СуммаОстатокОДРасход
	     |	, Sum(ОстатокОДОстаткиОбороты.СуммаКонечныйОстаток) СуммаОстатокОДКонечныйОстаток
	     |FROM $РегистрОстаткиОбороты.НачислениеПроцентов(:НачДата,
	     |		:ДатаКонцаЗапроса~,
	     |		День,
	     |		ДвиженияИГраницыПериода,,
	     |		(Договор IN (:ВыбДоговор)),
	     |		(Договор, КредитныйДокумент),) AS НачислениеПроцентовОстаткиОбороты
	     |	LEFT OUTER JOIN $РегистрОстаткиОбороты.НачислениеОД(:НачДата,
	     |		:ДатаКонцаЗапроса~,
	     |		День,
	     |		ДвиженияИГраницыПериода,,
	     |		(Договор IN (:ВыбДоговор)),
	     |		(Договор, КредитныйДокумент),) AS НачислениеОДОстаткиОбороты ON НачислениеПроцентовОстаткиОбороты.Период = НачислениеОДОстаткиОбороты.Период AND НачислениеПроцентовОстаткиОбороты.Договор = НачислениеОДОстаткиОбороты.Договор AND НачислениеПроцентовОстаткиОбороты.КредитныйДокумент = НачислениеОДОстаткиОбороты.КредитныйДокумент
	     |	LEFT OUTER JOIN $РегистрОстаткиОбороты.ПеняПоОД(:НачДата,
	     |		:ДатаКонцаЗапроса~,
	     |		День,
	     |		ДвиженияИГраницыПериода,,
	     |		(Договор IN (:ВыбДоговор)),
	     |		(Договор, КредитныйДокумент),) AS ПеняПоОДОстаткиОбороты ON НачислениеПроцентовОстаткиОбороты.Период = ПеняПоОДОстаткиОбороты.Период AND НачислениеПроцентовОстаткиОбороты.Договор = ПеняПоОДОстаткиОбороты.Договор AND НачислениеПроцентовОстаткиОбороты.КредитныйДокумент = ПеняПоОДОстаткиОбороты.КредитныйДокумент
	     |	FULL OUTER JOIN $РегистрОстаткиОбороты.ПеняПоПроцентам(:НачДата,
	     |		:ДатаКонцаЗапроса~,
	     |		День,
	     |		ДвиженияИГраницыПериода,,
	     |		(Договор IN (:ВыбДоговор)),
	     |		(Договор, КредитныйДокумент),) AS ПеняПоПроцентамОстаткиОбороты ON НачислениеПроцентовОстаткиОбороты.Период = ПеняПоПроцентамОстаткиОбороты.Период AND НачислениеПроцентовОстаткиОбороты.Договор = ПеняПоПроцентамОстаткиОбороты.Договор AND НачислениеПроцентовОстаткиОбороты.КредитныйДокумент = ПеняПоПроцентамОстаткиОбороты.КредитныйДокумент
	     |	LEFT OUTER JOIN $РегистрОстаткиОбороты.ОстатокОД(:НачДата,
	     |		:ДатаКонцаЗапроса~,
	     |		День,
	     |		ДвиженияИГраницыПериода,,
	     |		(Договор IN (:ВыбДоговор)),,) AS ОстатокОДОстаткиОбороты ON НачислениеПроцентовОстаткиОбороты.Период = ОстатокОДОстаткиОбороты.Период AND НачислениеПроцентовОстаткиОбороты.Договор = ОстатокОДОстаткиОбороты.Договор AND НачислениеПроцентовОстаткиОбороты.КредитныйДокумент = ОстатокОДОстаткиОбороты.КредитныйДокумент
	     |GROUP BY НачислениеПроцентовОстаткиОбороты.Договор
	     |	, НачислениеПроцентовОстаткиОбороты.Период
	     |"; 


  
Наверх
 
IP записан
 
temrmal
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 42
Зарегистрирован: 13. Января 2011
Re: Как в прямом запросе проверить на пустую дату?
Ответ #10 - 10. Марта 2011 :: 09:38
Печать  
тот же результат. и еще - почему выбор case не работает, если нет группировки по данному полю - пишет на отсутствующую колонку?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Как в прямом запросе проверить на пустую дату?
Ответ #11 - 10. Марта 2011 :: 09:50
Печать  
В каком смысле тот же ?

В Период нет пустых значений, если что.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Как в прямом запросе проверить на пустую дату?
Ответ #12 - 10. Марта 2011 :: 10:13
Печать  
temrmal писал(а) 10. Марта 2011 :: 09:38:
тот же результат. и еще - почему выбор case не работает, если нет группировки по данному полю - пишет на отсутствующую колонку?

так после group by в таблице остаются только то что в группировках  + агрегирующие функции.


А можешь (6) выполнить в qa и также результат 10 строк сюда в виде картинки

  
Наверх
 
IP записан
 
Quan
1c++ donor
1c++ power user
Отсутствует


I'm old, bald and ugly.

Сообщений: 273
Местоположение: Новосибирск -- Москва
Зарегистрирован: 20. Мая 2006
Пол: Мужской
Re: Как в прямом запросе проверить на пустую дату?
Ответ #13 - 10. Марта 2011 :: 21:38
Печать  
temrmal писал(а) 10. Марта 2011 :: 07:17:
да нет, в том то и дело, что '17530101' воспринимает как 01.01.1753,
делал cast, даже преобразовывал период в число, и пустой период '  .  .  ' становится 0, сравнивал с нулем, не получается


На самом деле с датой в 1С всё очень запущено. Впрочем, в SQL -тоже
Нулевое число в поле даты SQL (день номер ноль) обозначает день 01.01.1900
Однако в 1С эта же дата соответствует, как ни странно, числу (абсолютному номеру дня) 2415021
Что же касается волшебного дня 01.01.1753, то в принципе этот день ничем особым не примечателен, если не считать того, что дату с меньшим номером SQL по каким-то загадочным причинам хранить отказывается, а так вообще это обычный день с порядковым номером -53690 в SQL и номером 2361331 в 1С, а вовсе не ноль и, тем более, не NULL. Кстати, 1Ска, в отличие от SQL, вполне принимает и мЕньшие даты, (например, Дата(2361328) = "29.12.1752" и Дата(2361328)+4="02.01.1753"), но только вот, начиная с какой-то совсем уж маленькой даты, не шибко корректно их показывает (например, Дата(100001) = "91.90.-443"), а записать и вовсе не может - но не по своей вине, а в силу ограничений SQL.
А поскольку внутренним порядковым номером "пустой" даты для 1С является 0 (ноль), то есть какая-то дата задолго до нашей эры, то хранить ее в SQL 1Ска не может и записывает как минимальную допустимую дату, а при чтении выполняет обратное преобразование.

Кстати, вот совершенно рабочий запрос, возвращающий правильные значения дат, в т.ч. их "пустые" значения
Код
Выбрать все
select
case when $Справочник.ВзяткиПолученные.ДатаПолучения=cast (-53690 as datetime)
then
0
else
cast($Справочник.ВзяткиПолученные.ДатаПолучения as int) +2415021
end
[датаВручения $дата]
from $Справочник.ВзяткиПолученные 



Кстати, следует иметь в виду, что это работает только в случае ВыполнитьИнструкцию. А в случае ВыполнитьСкалярный типизация [$Дата] по неизвестным причинам не работает и надо типизировать уже внутри 1С, то есть МояПеременная=Дата(СКЛЗапрос.ВыполнитьСкалярный(ТекстЗапроса)) где ТекстЗапроса приведен выше, но $Дата уже не обязательна, т.к. всё равно не работает

И еще "хозяйке на заметку":
Дата(0) = "  .  .  "
Пустоезначение(Дата(0)) = 1
Дата(0) = ПолучитьПустоеЗначение("Дата")

При этом можеть сбить с толку нижеприведенная кажущаяся тождественность:
Дата(-1) = "  .  .  "
Дата(-2) = "  .  .  "
Дата(-123456) = "  .  .  "
и.т.д.
но при этом, что характерно,
Дата(0)<>Дата(-1)<>Дата(-2)<>Дата(-123456)
Пустоезначение(Дата(-1)) = 0
Дата(-1) <> ПолучитьПустоеЗначение("Дата")

Так что будьте осторожны и не верьте глазам своим  Подмигивание
  

А для тех, кто не хотел учить SQL, господь сотворил курсоры
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать