Форум: "Прочее";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Вниз
Понятие NULL Найти похожие ветки
← →
Reindeer Moss Eater © (2006-10-02 16:23) [320]Вот я разведчик, сижу на границе у реки и пишу донесение в центр.
Перед заброской мы договорились, что каждое вхождение строки "мама" в моем донесении - это рота самураев, решивших в эту ночь перейти границу у реки. Каждое "папа" - это танк с самураями.
А каждая пустая строка - это самурайская пушка.
Как быть-то?!
Ведь пустая строка - это по вашему полноценное значение.
А сколько пушек у самураев? Кто скажет?
/* Пожалуйста! Ради бога! Приколов с подсчетом CRLF не предлагать. */
Пустые строки в чистом виде как элемент сообщения!
← →
Тугодум © (2006-10-02 16:24) [321]evvcom © (02.10.06 16:09) [308]
Читай [307].
Не видать мне булевых лавров :)
← →
evvcom © (2006-10-02 16:27) [322]> [319] pasha_golub © (02.10.06 16:20)
> И кажется мне, что это вы знаете. ;-)
Правильно, кажется.
Но и мне кажется, что вы знаете, что все же разница между строкой и числом имеется. ;-)
← →
Alx2 © (2006-10-02 16:31) [323]>evvcom © (02.10.06 16:27) [322]
Запись числа в виде строки и представление строки (текста) числом можно сделать взаимнооднозначным. Рассматривать, например, все как последовательность байт. То есть как запись некоторого числа, в которой каждая цифра принимает 256 значений . И вся биекция.
← →
Тугодум © (2006-10-02 16:31) [324]Reindeer Moss Eater © (02.10.06 16:16) [316]
Попробую еще раз. Забудьте int, longint и прочее. Поговорим про матемаитку больших чисел, как тут часто спрашивают на форуме. То есть у нас есть DEC(N), где N-разрядность числа в десятичном предствалении. Такой тип есть во многих СУБД, например Informix. Каждая цифра записывается в BCD формате.
Теперь, что мы имеем? А имеем мы полный аналог CHAR(N). И получается, что необходимо указывать признак завершения ЧИСЛА, или же хранить где-нибудь длину ЧИСЛА. Абсолютно так же, как и для строк. И вот при такой постановке у нас будет ПУСТОЕ ЧИСЛО, то есть число, длина которого равна нулю либо первый же байт (если речь о BCD) которого оказывается признаком окончания числа.
← →
pasha_golub © (2006-10-02 16:31) [325]
>
> Reindeer Moss Eater © (02.10.06 16:23) [320]
Ясненько. Вы, значит, и отрицательные числа не приемлете? И трансцентдентные? Ведь вы их не сможете изобразить. А уж о комплексных вообще нужно молчать?
← →
evvcom © (2006-10-02 16:32) [326]> [321] Тугодум © (02.10.06 16:24)
> [307] pasha_golub © (02.10.06 16:08)
> увидим, что между строками и представлениями числа нет разницы
Представление числа - не есть само число. В
> [294] Тугодум © (02.10.06 16:00)
> Нет никакой разницы между строками и целыми числами.
говорится же о самих числах.
Флейм на 300 с лишним постов уже!
← →
pasha_golub © (2006-10-02 16:34) [327]
> Но и мне кажется, что вы знаете, что все же разница между
> строкой и числом имеется. ;-)
>
Строка и представление числа. Именно такие термины я использовал.
← →
Тугодум © (2006-10-02 16:34) [328]Reindeer Moss Eater © (02.10.06 16:23) [320]
Как Вы строки разграничиваете? Или у Вас жестко задана длина в 4 символа (мама и папа). Откуда уверенность, что написано именно папа, а не папарацци?
Если разграничение идет по специальному символы, то Вы знаете способ передавать нулевую строку.
Если разграничение идет с помощью передачи длины слова перед передачей самого слова, то Вы опять-таки знаете способ передать нулевую строку.
← →
pasha_golub © (2006-10-02 16:35) [329]
> evvcom © (02.10.06 16:32) [326]
>
> Представление числа - не есть само число. В
Само число есть абстракция. И мне было бы интересно как бы мы дисскутировали не прибегая к представлению числа.
← →
Тугодум © (2006-10-02 16:36) [330]pasha_golub © (02.10.06 16:34) [327]
Когда оппоненты начинают уточнять термины, можно спокойно уходить победителем :)
← →
pasha_golub © (2006-10-02 16:40) [331]
> Тугодум © (02.10.06 16:36) [330]
>
> pasha_golub © (02.10.06 16:34) [327]
>
> Когда оппоненты начинают уточнять термины, можно спокойно
> уходить победителем :)
>
Пусть проставляются. ;-)
← →
Reindeer Moss Eater © (2006-10-02 16:40) [332]Тугодум ©
Мое сообщение - поток байтов.
И каждое вхождение "мама", "папа" и так далее ....
Что здесь непонятного?
Нет никаких разделителей строк.
И нет никаких парамамарацци!
Я донесение своим в центр пишу что бы меня поняли, а не ребус что бы над ним поприкалывались.
← →
Reindeer Moss Eater © (2006-10-02 16:43) [333]Если пустая строка сама по себе такое же полноценное значение как и "мама", то научите меня выделять эти пустые строки в потоке байтов.
ЗЫ Выделять "мама" я уже умею. И "папа" тоже.
← →
Тугодум © (2006-10-02 16:45) [334]Reindeer Moss Eater © (02.10.06 16:40) [332]
У Вас в качестве разделителя слов служит совпадение с каким-либо словом. Значит, надо было лучше договориться. А то я вот тоже решил передавать информацию, используя 3 слова: ма, мама и мамама. А в штабе почему-то жалуются, что понять ничего не могут. Может явный признак конца слова ввести вместо неявного?
← →
Alx2 © (2006-10-02 16:47) [335]>Reindeer Moss Eater © (02.10.06 16:43)
>... то научите меня выделять эти пустые строки в потоке байтов.
В любой строке есть пустая подстрока. Берешь что угодно, и говоришь, что нашел пустую подстроку. Местоположение ее тоже произвольное. Не ошибешься. Отсюда абсурдность идеи кодировать сообщения с помощью вхождения пустых строк.
← →
Reindeer Moss Eater © (2006-10-02 16:49) [336]тугодум, а в чем проблемы?
Я выбрал три полноценных значения, неравные между собой.
"мама" <> "папа" <> ""
Я не придумываю ребусы, я пишу сообщение для того, что бы его поняли.
← →
Тугодум © (2006-10-02 16:50) [337]Reindeer Moss Eater © (02.10.06 16:49) [336]
см [335]
← →
pasha_golub © (2006-10-02 16:52) [338]
> Reindeer Moss Eater © (02.10.06 16:49) [336]
Я утверждаю, что путая строка должна отображаться как "<EMPTY STRING>". Теперь, я думаю в штабе будет полегче.
← →
Gero © (2006-10-02 16:54) [339]> [333] Reindeer Moss Eater © (02.10.06 16:43)
> Выделять "мама" я уже умею. И "папа" тоже.
Как, если не секрет?
← →
Reindeer Moss Eater © (2006-10-02 16:59) [340]Я утверждаю, что путая строка должна отображаться как "<EMPTY STRING>". Теперь, я думаю в штабе будет полегче.
Штабу будет легче.
Только информация о пушках была передана не пустыми строками, а строками "Empty_string"
И эти строки не обладают свойствами пустых строк.
Отсюда я сотый раз делаю вывод - пустая строка это абстракция, а вовсе не полноценное значение строкового типа.
Иначе траблов с донесением не было бы никаких как в случае с мамой и папой.
Вот и причина (в сотый раз уже по одном уместу) по которой Оракл выбрал пустую строку как спец значение нулл для строкового типа.
← →
Reindeer Moss Eater © (2006-10-02 17:01) [341]> Выделять "мама" я уже умею. И "папа" тоже.
Как, если не секрет?
За этим секретом (если он нужен всерьез) сходи в местный FAQ.
← →
Тугодум © (2006-10-02 17:03) [342]Reindeer Moss Eater © (02.10.06 16:59) [340]
Конечно, пустая строка особенная. Только вот непонятно, на каком основании ее свойства обязаны быть одинаковыми с NULL. Для чисел есть например плюс бесконечность, минус бесконечность, not a number, пустое число. Это всё NULLы по Вашей ораклиной логике? Или только NaN?
← →
Gero © (2006-10-02 17:04) [343]> [341] Reindeer Moss Eater © (02.10.06 17:01)
Нет, не нужен, благодарю.
← →
Reindeer Moss Eater © (2006-10-02 17:07) [344]Только вот непонятно, на каком основании ее свойства обязаны быть одинаковыми с NULL.
А кто этого требовал?
Пальцем покажи.
:)
← →
Тугодум © (2006-10-02 17:08) [345]Reindeer Moss Eater © (02.10.06 17:07) [344]
А кто этого требовал?
Пальцем покажи.
А это не Вы про олицетворение и правомерность кричали? :)
← →
Reindeer Moss Eater © (2006-10-02 17:12) [346]А это не Вы про олицетворение и правомерность кричали? :)
И что там в крике моем было про обязанность свойств быть одинаковыми?
Ссылку на пост и номер строки.
>Конечно, пустая строка особенная.
Вот поэтому Оракл и решил, что она адекватно отражает сущность нула.
← →
Тугодум © (2006-10-02 17:27) [347]Reindeer Moss Eater © (02.10.06 17:12) [346]
Понятно. Спасибо за дискуссию.
← →
evvcom © (2006-10-03 08:59) [348]> [323] Alx2 © (02.10.06 16:31)
> можно сделать
Мы говорим о том, что можно или о том, что есть?
Для процессора вообще нет никакой разницы, что выполнять, и как выполнять. Ему можно скормить хоть код, хоть данные, он это проглотит (может где-нить зависнет :)) Разница есть для нас, т.к. мы ожидаем какого-то правильного результата, и разница есть для компилятора, т.к. он написан таким образом, чтобы обезопасить нас от самих себя. Поэтому придумали различные типы данных, правила работы с ними и пр. Потому даже между Byte, Word и DWord есть разница, не говоря уж о каких-то числах и строках.
> [327] pasha_golub © (02.10.06 16:34)
Да, да, я об этом упомянул в [326], но защищать-то кинулся в [309] что?
← →
Alx2 © (2006-10-03 16:39) [349]>evvcom © (03.10.06 08:59) [348]
>Мы говорим о том, что можно или о том, что есть?
О том, что есть.
>не говоря уж о каких-то числах и строках.
Ты можешь абстракцию отличать от ее интерпретации? НЕТ разницы между строками и числами. Есть разные способы их интерпретировать.
PS
Криптоалгоритмами не пользовался? Найди в DES отличие между строкой и числом. Напротив, в алгоритме Лемпеля-Зива данные рассматриваются как строка.
← →
Тугодум © (2006-10-06 13:16) [350]А все-таки Oracle must die.
Он позволяет вставить пустую строку. Через CHR(0). И даже возвращает эту самую строку, если написать SELECT * FROM mytable WHERE myfield = CHR(0)
Теперь в EJB нужно анализировать с какой СУБД имеем дело, и заменять "" на CHR(0). Ну не бред ли?
← →
Sergey13 © (2006-10-06 13:23) [351]> [350] Тугодум © (06.10.06 13:16)
Наверное теперь начнутся массовые самоубийства ораклоидов, деинсталяции миллионов серверов и судебные иски к Ларри.
8-)
← →
k2 © (2006-10-06 13:45) [352]Тугодум © (06.10.06 13:16) [350]
если руки отрезать птице,
если ноги отрезать тоже,
эта птица умрет со скуки
потому што вставлять не сможет
:) навеяло
против массовиков-затейников хорошо административные меры помогают :)
← →
Тугодум © (2006-10-06 14:25) [353]k2 © (06.10.06 13:45) [352]
Вы о чем? Объясняю подробнее. Есть система. Есть БД, с которой она работает на уровне INSERT-UPDATE-DELETE-SELECT, то есть всё в рамках ANSISQL. Из-за перехода на Oracle теперь придется ее переписывать.
Это не массовики-затейники, это затейники-производители СУБД. Решили, понимаешь, 0.0001% времени и места сэкономить при работе с varchar и сhar.
"Поубивав бы" (c)
← →
Sergey13 © (2006-10-06 14:32) [354]> [353] Тугодум © (06.10.06 14:25)
> Есть система.
И она вставляет пустые строки через CHR(0)?
← →
k2 © (2006-10-06 14:36) [355]Тугодум © (06.10.06 14:25) [353]
я о том же, што и Сергей, только неудачно выразилась
← →
Игорь Шевченко © (2006-10-06 14:36) [356]Тугодум © (06.10.06 14:25) [353]
> Из-за перехода на Oracle теперь придется ее переписывать
Тебе радоваться надо - без работы не останешься.
← →
Тугодум © (2006-10-06 15:05) [357]Sergey13 © (06.10.06 14:32) [354]
Нет, она вставляла NULL и "", а потом извлекала их обратно. Теперь извлекать обратно не получается, точнее, извлекаются 2 NULL вместо NULL и ""
← →
Игорь Шевченко © (2006-10-06 15:07) [358]Тугодум © (06.10.06 15:05) [357]
А можно узнать, что за задача была, где требовалось NULL от пустой строки отличать и зачем ?
← →
Тугодум © (2006-10-06 15:10) [359]Игорь Шевченко © (06.10.06 15:07) [358]
Нет, нельзя.
← →
pasha_golub © (2006-10-06 15:18) [360]
> Тугодум © (06.10.06 15:10) [359]
>
> Игорь Шевченко © (06.10.06 15:07) [358]
>
> Нет, нельзя.
>
А мне можно? ;-) Я свой. :0) Не Ораклоид. :)
Кстати, оффтопный вопрос. enterprisedb.com - сайт EnterpriseDB, которая себя позиционирует как Оракло-совместимая. Кто-то из ораклоидов пробовал? Какие впечатления?
ЗЫ ;) Как там дела с NULL обстоят?
Страницы: 1 2 3 4 5 6 7 8 9
10 вся ветка
Форум: "Прочее";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 1.07 MB
Время: 0.111 c