-
> pasha_golub (01.07.2008 16:08:29) [29]
Видишь ли МС не кладет, а позволяет управлять этим, а насколько я помню Оракл именно кладет. При том вроде и не последовательны.
-
> McSimm (01.07.2008 16:09:31) [31]
Пустым ты что в данном случае считаешь, если '' то по стандарту одну можно. А если NULL то по стандарту ни одно, поскольку NULL это не определено, то оно и не может представлять собой конкретную строку, а вот пустая строка может.
-
> Игорь Шевченко (01.07.2008 16:13:33) [33]
> Оракл появился немного раньше стандартов.
И вырос в такого монстра, что плевал на всех, он сам себе стандарт.
-
> atruhin1 (01.07.2008 16:15:36) [36]
> Иногда удобно, иногда нет.
Вот это не должно быть основанием, поскольку результаты не гарантируются, не пройдет даже тестов.
-
> Пустым ты что в данном случае считаешь, если '' то по стандарту
> одну можно. А если NULL то по стандарту ни одно, поскольку
> NULL это не определено
Так вопрос про Оракл был, где '' и NULL суть одно.
Насчет стандарта - не совсем понял. Unique key, насколько я с ними сталкивался, позволяет хранить NULL в любом количестве.
-
> Unique key, насколько я с ними сталкивался, позволяет хранить
> NULL в любом количестве.
Короче, была какая-то фигня с Null. То ли с FTS, то ли с индексом...
В смысле, что только одно значение null в столбце на всю таблицу.
-
Anatoly Podgoretsky © (01.07.08 16:55) [62]
> И вырос в такого монстра, что плевал на всех, он сам себе
> стандарт.
Насколько мне известно, стандарту целиком и полностью не соответствует ни одна СУБД. У каждой есть свои расширения, отходящие от стандарта.
Кстати, сам Оракл пишет в документации:
"Oracle Database currently treats a character value with a length of zero as null. However, this may not continue to be true in future releases, and Oracle recommends that you do not treat empty strings the same as nulls."
-
то оно и не может представлять собой конкретную строку, а вот пустая строка может.
Если пустая строка может представлять конкретную строку ("равноправное" значение строкового типа), то тогда было бы возможно определить сколько именно таких значений содержится в этом посте.
А этого никто определить не сможет.
-
> сколько именно таких значений содержится в этом посте.
Я могу это определить.
Этот пост представляет собой запись из нескольких полей (некоторые отображаются, некоторые нет). Из отображаемых - одно поле представляет собой пустую строку.
А дробить одно поле - некорректно. Или придется считать количество нулей в числе 17.
-
Я могу это определить.
Допустим.
Определил, что из там 10.
А я утверждаю что изх там 1000.
Как определить кто прав?
-
> Как определить кто прав?
гм... я даже теряюсь... при таком подходе остается только назначить незаинтересованных арбитров и спросить кому они больше верят :)
Я даже могу предоставить саму запись на рассмотрение (хотя ее и так видно)
name: 'Поросенок Винни-Пух',
email: '',
ip: '**.***.**.***'
и т.д.
-
есть еще вариант, спросить у perl
# smth like this
foreach (keys %fields) {
$count++ if ($REC{$_} eq '');
}
-
ну зачем же отмахиваться от простого вопроса?
есть два строковых литерала, один пустой;
я с помошью нескольких конкатенаций делаю из них итоговую строку.
вопрос: определить по итоговой строке сколько раз я в нее вставил пустой литерал.
-
> Поросенок Винни-Пух © (01.07.08 17:37) [67]
> Если пустая строка может представлять конкретную строку
> ("равноправное" значение строкового типа), то тогда было
> бы возможно определить сколько именно таких значений содержится
> в этом посте.
Нелогично размышляете. Я уже писал что пустая строка есть инвариант по отношению к операции конкатенации. Можно провести паралели с каноническим разложением числа на множители (сорри если коряво звучит, учил на украинском), коее имеет вид a = p1^n1*p2^n2...*pk^nk*E, где pi - простые числа неравные 1.
-
> ну зачем же отмахиваться от простого вопроса?
> есть два строковых литерала, один пустой;
> я с помошью нескольких конкатенаций делаю из них итоговую
> строку.
> вопрос: определить по итоговой строке сколько раз я в нее
> вставил пустой литерал.
Я уже писал про количество нулей в числе 17.
-
> Поросенок Винни-Пух © (01.07.08 18:02) [72]
> есть два строковых литерала, один пустой;
> я с помошью нескольких конкатенаций делаю из них итоговую
> строку.
> вопрос: определить по итоговой строке сколько раз я в нее
> вставил пустой литерал.
Есть два слагаемых, один из них 0. Я с помощью некоторых операций сложения делаю из них сумму.
Вопрос: определить по итоговой сумме сколько раз я прибавил 0
-
Поле содержит одно значение. Можно считать сколько значений содержит запись или выборка. Какой смысл считать количество значений в одном поле ? (то же - в одной переменной) ?
-
Я уже писал про количество нулей в числе 17.
не надо путать публику.
было сказано, что пустая строка - это точно такое же значение строкового типа, как и любая другая строка.
Так что это за значение такое, если его нельзя обнаружить и посчитать?
-
И, кстати о конкатенациях, сколько значений "АА" содержится в строке "АААА" - два или три ?
-
> пустая строка - это точно такое же значение строкового типа,
> как и любая другая строка.
Равно как и 0 мало отличается от любого другого числового значения.