Конференция "Базы" » Объединение строк [D7, access]
 
  • nstur (25.11.08 15:58) [0]
    Для поиска, необходимо объединить строки. Встречаются поля с NULL значением и в связи с этим результат - пустая строка.
    Как выполнить конкатенацию строк?
    select ORG.ID,
     ORG.DESCR+' '+IIF(ORG.DESCR1=NULL,'1',ORG.DESCR1) AS FindText
    from ORG
  • Виталий Панасенко (25.11.08 16:01) [1]
    select ORG.ID,
    ORG.DESCR+' '+IIF(ORG.DESCR1 is NULL,'',ORG.DESCR1) AS FindText
    from ORG
  • nstur (25.11.08 16:06) [2]
    Да!!! Давно за комп не садился.

    Спасибо!!!
  • Правильный$Вася (25.11.08 16:09) [3]
    NULL нельзя проверять на равенство
    вообще любые операции с NULL дают NULL, т.е. нельзя сказать, истина ли результат или ложь
  • sniknik © (25.11.08 16:16) [4]
    > Как выполнить конкатенацию строк?
    надо использовать операнд конкатенции...

    select ID,DESCR & DESCR1 AS FindText from ORG
  • ANB (25.11.08 16:55) [5]

    > вообще любые операции с NULL дают NULL, т.е. нельзя сказать,
    >  истина ли результат или ложь

    Почему ? is null и is not null дают нормальный булевый результат
  • Правильный$Вася (25.11.08 18:38) [6]

    > ANB   (25.11.08 16:55) [5]

    потому что IS [NOT] NULL это не операция с данными, а проверка содержимого на NULL
  • palva © (25.11.08 20:36) [7]

    > потому что IS [NOT] NULL это не операция с данными

    а OR это операция с данными?
    COL1>10 OR COL2<10 дает истину при COL1=NULL COL2=5
  • Anatoly Podgoretsky © (25.11.08 21:27) [8]
    > ANB  (25.11.2008 16:55:05)  [5]

    Потому что это нормальное булево выражение, без вариантов, а ровно два значения.
 
Конференция "Базы" » Объединение строк [D7, access]
Есть новые Нет новых   [134477   +39][b:0][p:0]