powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как выбрать пустые строки(G0 is null or G0 = '')?
25 сообщений из 61, страница 2 из 3
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558108
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Стандарт" наверняка опирается на осмысленные причины.
Но вот конкретно я их не вижу.
А знание того, как там реализован механизм хранения строк - вещь интересная, но для "прикладника" - не обязательная.
...
Ну да, можно придумать, для чего прикладника фразличать null и ''. И даже получать от этого пользу.
Но гемора, имхо, больше, чем возможной пользы.
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558138
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyЯ бы хотел различать ситуации когда у меня пустая строка и когда я прицепил лефт джойном нечто а там нет строки совсем.Ну хоть кто-то тут таки дружит с головой :)
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558200
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скоро пятницаВопрос: а нет ли для строк в FB чего-либо более компактного, чем G0 is null or G0 = '' , какой-нибудь конструкции IsEmptySTR... - ?Будь проще!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
UPDATE TST
  SET G0 = NULLIF(G0, ''),
    G1 = NULLIF(G1, ''),
    G2 = NULLIF(G2, '')
  WHERE G0='' OR G1='' OR G2='';

ALTER TABLE TST ADD CONSTRAINT TST__CHK CHECK (NOT(G0='' OR G1='' OR G2=''));

SET TERM ^;
CREATE OR ALTER TRIGGER TST__TR_BIU
  FOR TST
  ACTIVE
  BEFORE INSERT OR UPDATE
  POSITION 0
AS
BEGIN
  NEW.G0 = NULLIF(NEW.G0, '');
  NEW.G1 = NULLIF(NEW.G1, '');
  NEW.G2 = NULLIF(NEW.G2, '');
END^
SET TERM ;^
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558280
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devСкоро пятницаВопрос: а нет ли для строк в FB чего-либо более компактного, чем G0 is null or G0 = '' , какой-нибудь конструкции IsEmptySTR... - ?Будь проще!
Код: sql
1.
2.
3.
4.
5.
UPDATE TST
  SET G0 = NULLIF(G0, ''),
    G1 = NULLIF(G1, ''),
    G2 = NULLIF(G2, '')
  WHERE G0='' OR G1='' OR G2=''; -- Тут кажется не совсем то что имелось ввиду 


Что? :)
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558302
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraksrdb_devпропущено...
Будь проще!
Код: sql
1.
2.
3.
4.
5.
UPDATE TST
  SET G0 = NULLIF(G0, ''),
    G1 = NULLIF(G1, ''),
    G2 = NULLIF(G2, '')
  WHERE G0='' OR G1='' OR G2=''; -- Тут кажется не совсем то что имелось ввиду 


Что? :)Меняем '' на NULL в полях "G" записей, где значение любого из полей "G" записи содержит пустую строку. Что не так?
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558315
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

уж проще 3 отдельных запроса выполнить и не страдать фигнёй

Код: sql
1.
2.
3.
UPDATE TST
  SET G0 = NULL
  WHERE G0=''; 



для остальных аналогично
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558317
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devfraksпропущено...

Что? :)Меняем '' на NULL в полях "G" записей, где значение любого из полей "G" записи содержит пустую строку. Что не так?

Вроде ТС NULLы мешались, а ты предлагаешь наоборот их насильно туда насовать.
Я бы понял если бы триггер NULL на '' менял, тогда условие на равенство любому значению строки, в том числе пустому проверялось бы одним условием на равенство. И всё было бы просто.
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558346
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> уж проще 3 отдельных запроса выполнить и не страдать фигнёй

3 запроса или один - не суть (один даже лучше),
а вот пустые строки на NULL-ы менять глупо, да.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558384
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

менять NULL на пустые строки ещё хуже
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558404
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
23.11.2017 15:38, Симонов Денис пишет:
> менять NULL на пустые строки ещё хуже

YouTube Video
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558415
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyВасилий №2а для чисел NULL сделать эквивалентным 0*сарказм off* Не надо.

и для строк, кстати тоже не надо. Я бы хотел различать ситуации когда у меня пустая строка и когда я прицепил лефт джойном нечто а там нет строки совсем.
...или там есть нечто, но со строковыми полями, заполненными NULL-ами.
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558425
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

если сделал поле NOT NULL то нету
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558435
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисчччД,

если сделал поле NOT NULL то нету
[spoiler] ...
YouTube Video
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558447
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

Для прикола выполни запрос

Код: sql
1.
2.
select iif('' = ' ', 1, 0) as f
from rdb$database



с null такое не проконает
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558449
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис...
с null такое не проконает
Это хорошо или плохо?
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558453
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

это о том что пустая строка никак не заменяет NULL.
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558454
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> менять NULL на пустые строки ещё хуже

Чем хуже? Армяне лучше чем грузины?

Симонов Денис> с null такое не проконает

Проканает, просто условие надо поменять.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558456
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> это о том что пустая строка никак не заменяет NULL.

Это кто-то утверждал?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558457
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

чем проконает то? Я пустую строку с пробелом сравнил
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558458
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

как кто. Тут в топике поднимают некоторые вопрос о том, что хорошо бы null и пустая строка было одно и то же
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558465
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> чем проконает то? Я пустую строку с пробелом сравнил

Молодец, чо. Не буду спрашивать зачем, это дело хозяйское.
Но в чем именно проблема сравнений с NULL ?

Симонов Денис> Тут в топике поднимают некоторые вопрос о том,
Симонов Денис> что хорошо бы null и пустая строка было одно и то же

Так ты смотри кто что говорит и кому ты что/на что отвечаешь.
ТС трололо своё закинул и доволен, но это не значит что и тебе надо.
Так чем армяне NULL-ы больше чем грузины пустые строки ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558466
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Так чем армяне NULL-ы больше чем грузины пустые строки ?

"тебе больше нравятся"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558467
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил:
Гаджимурадов РустамТак чем армяне NULL-ы большелудше чем грузины пустые строки ?
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558533
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДIvan_Pisarevskyпропущено...
*сарказм off* Не надо.

и для строк, кстати тоже не надо. Я бы хотел различать ситуации когда у меня пустая строка и когда я прицепил лефт джойном нечто а там нет строки совсем.
...или там есть нечто, но со строковыми полями, заполненными NULL-ами. Если я собираюсь различить 2 варианта, наверное я не стану предварительно стрелять себе в ногу.
...
Рейтинг: 0 / 0
Как выбрать пустые строки(G0 is null or G0 = '')?
    #39558546
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это ты не станешь. За всех не говори, тут есть мазохисты.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 61, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как выбрать пустые строки(G0 is null or G0 = '')?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]