|
Сегодня придумал, как хранить в одном поле три значения - Да, ложь и неопределено
|
Я
|
|
Гений 1С 19.11.08 - 16:02 | Для этого нужно юзать составной тип, в состав которого входит только один тип - булево. |
Stepa86 1 - 19.11.08 - 16:04 | Про флажок с тремя состояниями слышал???
|
vde69 2 - 19.11.08 - 16:06 | я догадался кто автор!!!!
а нафига? ведь составной тип и места жрет и медленее работает, проще число хранить
|
tsr 3 - 19.11.08 - 16:06 | ( 1) Тьфу на тебя. Все испортил. Тут уже очередь выстроилась гению аплодировать |
Живой Ископаемый 4 - 19.11.08 - 16:06 | больше неопределенностей, хороших и разных... Лапиталя на вас нет, ироды!
|
Defender aka LINN 5 - 19.11.08 - 16:07 | Да создайте вы уже Гению отдельную секцию...
|
Aprobator 6 - 19.11.08 - 16:07 | ( 2) как нафига? На работе заняться нечем, вот и лезет в голову всякая хрень. |
Aprobator 7 - 19.11.08 - 16:08 | ( 5) и забор вокруг этой секции не забыть, чтоб не вылез. |
Garlic 8 - 19.11.08 - 16:08 | |
Rebelx 9 - 19.11.08 - 16:11 | я тоже как-то сразу угадал автора.
однако вопрос к автору: а ты пробовал сделать составной тип с единственным типом?
|
Ленинград 10 - 19.11.08 - 16:11 | )))жжоте каждый день птрююю |
hhhh 11 - 19.11.08 - 16:15 | |
Fragster 12 - 19.11.08 - 16:16 | судя по набору значений - это перечисление со значениями "Да", "Ложь" и "Неопределено"...
|
Господин ПЖ 13 - 19.11.08 - 16:17 | ( 0) ты эту хрень по 50 раз в день на SMS и высылаешь? |
Hitcher 14 - 19.11.08 - 16:20 | Тогда я придумал новые значения булево:)
Военное булево "Так точно", "Никак нет".
Женское булево "Ни да, ни нет" |
Aprobator 15 - 19.11.08 - 16:21 | ( 12) Выбор из списка 1 2 3 со своими представлениями. Хотя, может имеется ввиду одновременное хранение :))). |
ShoGUN 16 - 19.11.08 - 16:22 | ( 14) Женское булево - "Может быть" |
Fragster 17 - 19.11.08 - 16:24 | ( 15) битовая маска? тогда силен ;) |
LamerSuper 18 - 19.11.08 - 16:24 | Есть сопособ хранить в одном поле 2 147 484 646 градаций сосотояния да...нет.
|
LamerSuper 19 - 19.11.08 - 16:25 | Пардон 2 147 483 646
|
zag2art 20 - 19.11.08 - 16:25 | Топикстартер говорит про "Да, ложь и неопределено" и булевый тип. Интересно где здесь "Истина" затесалась....
|
YauheniL 21 - 19.11.08 - 16:26 | ( 0) В С используются константы, определенные define для этих целей (соответсвенно в 1с можно числа приспособить). А еще можно перечисление создать |
ShoGUN 22 - 19.11.08 - 16:27 | ( 20) "Я в жизни прочитал три книги - букварь, вторую и зеленую"(с) |
КонецЦикла 23 - 19.11.08 - 16:28 | Узнал автора как всегда И как всегда жесть... |
nop 24 - 19.11.08 - 16:29 | ( 0) И как мы без этого писали? |
Vitello 25 - 19.11.08 - 16:32 | |
globalasax 26 - 19.11.08 - 16:32 | ( 0) имеет смысл для хранения числа, т.к. значение 0 не всегда означает, что значение не указано. |
AlexSSSS 27 - 19.11.08 - 16:33 | ( 0) как и все сразу понял кто автор
и как обычно - очередная кучка мозгового дерьмеца |
nop 28 - 19.11.08 - 16:36 | ( 26) 0 -он во всех языках всегда был 0 когда не указанно. А в некоторых "не указано" может быть равно любому числу, - зависит от того была ли очищена память после выделения под переменную |
Гений 1С 29 - 19.11.08 - 16:36 | ( 0) Сори - лажанулся, действительно составной тип только из булеов не получишь. Идея была в чем - есть реквизит типа булево, уже заполнен, чтобы не менять на числовой в базе и не менять алгоритмы поменять на составной.. ;-) |
Гений 1С 30 - 19.11.08 - 16:37 | ( 16) Про женскую логику - жесть Рекламное место пустует |
rs_trade 31 - 19.11.08 - 16:38 | ( 26) читай выше - составной тип, в состав которого входит только один тип - булево. нету тут чисел... |
AlexSSSS 32 - 19.11.08 - 16:38 | ( 29) видно осенний спермотосикоз дошел до высшей точки.... |
Живой Ископаемый 33 - 19.11.08 - 16:38 | 28, и в СКЛе тоже?
|
Serg_1960 34 - 19.11.08 - 16:44 | Автор "гениально" умеет народ заводить с пол-оборота. Один раз вякнул - а эхо до сих пор в ушах звенит...
Общий диагноз: аллергия на гения :)
|
nop 35 - 19.11.08 - 16:45 | ( 33) естественно что нет. В SQL - тоже нет "не заполнено", если я не ошибаюсь, всегда 0, если тип поля числовой |
Fragster 36 - 19.11.08 - 16:45 | ( 35) в скуле есть значение NULL |
nop 37 - 19.11.08 - 16:46 | ( 36) Поле типа Integer может иметь значение NULL ? |
vde69 38 - 19.11.08 - 16:47 | ( 36) это не значение и не тип |
luns 39 - 19.11.08 - 16:47 | ( 34) Да не... он классный, мы всегда с интересом следим за его творчеством.. Вот был бы он политиком был бы... ну вы знаете.
Вон товарищь рядом сидит и ржот... от пятничных веток обычно меньше... |
ShoGUN 40 - 19.11.08 - 16:48 | ( 35) В SQL есть Null, он может быть в полях любого типа. Его можно запретить, но только для конкретных полей. |
Fragster 41 - 19.11.08 - 16:48 | ( 37) не знаю, как MSSQL, но в MySQL - может |
vde69 42 - 19.11.08 - 16:48 | ( 37)
на мой взгляд самый близкая расшифровка
NULL - отсутствие поля |
Живой Ископаемый 43 - 19.11.08 - 16:49 | ( 37) ну как, почитал ответы? |
nop 44 - 19.11.08 - 16:50 | ( 40) надо бы запретить по умолчанию. Нафига лишний байт для каждого поля каждой записи. Ещё и постоянная проверка поля таблицы на то может ли он содержать НУЛ, и содержит ли его запись. |
Fragster 45 - 19.11.08 - 16:51 | |
ShoGUN 46 - 19.11.08 - 16:51 | ( 42) Ну вообще-то NULL - это как раз значение :) Неопределенное значение. Хотя это вопрос терминологии... Общая интерпретация такого значения - отсутствует. Конкретная интерпретация зависит от назначения поля. |
Живой Ископаемый 47 - 19.11.08 - 16:52 | ( 44) Как будто типовых ни разу не видел.. Да, постоянно и проверяют... |
nop 48 - 19.11.08 - 16:53 | ( 47) Для меня 0 и НУЛ - одно и то же значение |
ShoGUN 49 - 19.11.08 - 16:54 | ( 44) В 1с-овских таблицах как раз NULL не используется, поэтому оно и возникает только в случае JOIN-ов в запросах. |
Живой Ископаемый 50 - 19.11.08 - 16:54 | ( 48) ага, и предложению ИТОГ - разные... |
Fragster 51 - 19.11.08 - 16:55 | ( 48) ну хорошо, вот Найти() нумерует символы с 0... а если не нашло - возвращает аналог NULL - Неопределено... |
ShoGUN 52 - 19.11.08 - 16:55 | ( 48) А если поле - не числовое, а типа DateTime или строка? Или вообще BLOB? |
nop 53 - 19.11.08 - 16:59 | ( 52) Есть диапазон допустимых значений для переменной. Например 0 - недопустимое. DateTime = 0 - не заполнено, строка - байт длинны строки (для перемнных) = 0 - не заполнено, для постоянных - отсутствие символа с кодом 0 в первом байте строки. BLOB - аналогично строке переменной длинны имеет заголовок с размером "объекта". |
ShoGUN 54 - 19.11.08 - 17:01 | ( 53) Ты не проектировщик СУБД часом? :) |
nop 55 - 19.11.08 - 17:01 | ( 51) Всякие НУЛЫ, НЕОПРЕДЕЛЕНО - это от лукавого. Это приколы конкретной библиотеки или среды разработки. Можно например вместо НЕОПРЕДЕЛЕНО - найти вернуть число 0 |
vde69 56 - 19.11.08 - 17:02 | кстати дискусия вполне грамотная пошла, ничего что к сабжу не относиться!
мне нравиться такой подход к обсуждению гениАльных идей
|
ShoGUN 57 - 19.11.08 - 17:02 | +( 54) И чем предложенное тобой отличается от NULL-значений? Я ж не знаю как они хранятся на физическом уровне. Может именно так, как ты описал? |
ShoGUN 58 - 19.11.08 - 17:04 | ( 55) Не знаю, мне бы как-то странно было без неопределенных значений. По логике они иногда нужны бывают. А как они хранятся - это уж вопрос эффективности реализации конкретной СУБД. |
Живой Ископаемый 59 - 19.11.08 - 17:05 | ( 56) Просто смысл привносить в тему личностное отношение? Мы ведь умеем абстрагироваться, в отличие от животных... |
nop 60 - 19.11.08 - 17:06 | ( 54) баловался в универе. Зачем моим скромным программкам целый СКЛ ? Рекламное место пустует |
vde69 61 - 19.11.08 - 17:08 | ( 57) SQL хранит это дело страницами, в каждой странице одна или несколько строк таблици, строка не фиксированой длинны, для каждого поля используються разделителиОписатели, если его нету - это м есть null,
тоесть это когда в структуре есть поле а в данных строки его физически нету |
trad 62 - 19.11.08 - 17:08 | А еще замечено, что NULL похож на черную дыру.
NULL всасывает в себя со всех сторон все материальные значения и не позволяет им покинуть себя.
Подтвержение тому:
1000 + NULL + 1000 - есть NULL
"Строка 1" + NULL + "Строка 2" - есть NULL
ps
нахождение NULL рядом с нормальными данными (особо типа ДатаВремя) искажает их. Будте внимательны!
:)) |
ShoGUN 63 - 19.11.08 - 17:09 | ( 60) Просто я к тому, что ты слишком много внимания более низкому уровню уделяешь. И мало внимания прикладным задачам. А они ой какие разные бывают, логика может быть самой причудливой, и неопределенные значения далеко не всегда лишние. |
Bober 64 - 19.11.08 - 17:10 | ( 0) Интересно, как ты добился, чтобы реквизиту назначался составной тип состоящий из одного типа.
А что делать с ОписаниеТипов при ПривестиЗначение? |
vde69 65 - 19.11.08 - 17:11 | ( 61) NULL для кода - это указатель на $FFFFFFF такого адреса памяти не существует |
Живой Ископаемый 66 - 19.11.08 - 17:13 | ( 64) Он и не добился.. Думал, что добился... |
nop 67 - 19.11.08 - 17:13 | ( 57) Выходит что для хранения NULL используется либо 1 бит из поля-владельца (что то же самое что диапазон значений - 1значение), либо дополнительное целое поле длинной в 8 бит, либо в конце записи (данных полей) БД служебная запись длинной в количество_колонок записи (данных полей). Последние по моему самый лучший вариант |
nop 68 - 19.11.08 - 17:14 | ( 65) Интерпретаторов это не касается |
vde69 69 - 19.11.08 - 17:15 | ( 67) для хранения в базе SQL значения NULL используеться 0бит см ( 61), а в памяти это обычный указатель (вроде 4 байта) |
Bober 70 - 19.11.08 - 17:15 | ( 64) -> ( 29) теорию загубил опыт |
Джинн 71 - 19.11.08 - 17:16 | ( 5) Лучше отдельный Интернет. |
nop 72 - 19.11.08 - 17:17 | ( 69) вникаю ... (покурю пока) |
nop 73 - 19.11.08 - 17:29 | vde69 я не пойму одного: если тип значения поля определен не как ссылочный, а как элементарный (строка, число, дата, булево) то каким образом после считывания с фиска (винчестера) выходит НУЛЬ ? Получается значит либо все типы ссылочные, либо у элементарных есть дополнительный байт, бит, запись ? |
ShoGUN 74 - 19.11.08 - 17:34 | ( 73) Мы про 1с или про скуль? :) Если про последний, то какие там нафиг ссылочные типы? |
nop 75 - 19.11.08 - 17:37 | ( 74) ссылочным я называю поле связующие одну таблицу с другой |
Ненавижу 1С 76 - 19.11.08 - 17:39 | NULL нужен, а всякие Неопределено и пустые ссылки нах не надо
|
ShoGUN 77 - 19.11.08 - 17:39 | ( 75) Так оно числовым может быть. Легко. И GUID вроде тоже числовое значение... Я непонимаю, в чем вопрос? В конечном счете все типы данных - элементарные. |
ShoGUN 78 - 19.11.08 - 17:40 | *( 77)непонимаю - не понимаю |
nop 79 - 19.11.08 - 17:46 | ( 77) "В конечном счете все типы данных - элементарные." отож! и где НУЛ и как хранится - непонятно |
ShoGUN 80 - 19.11.08 - 17:52 | ( 79) Ну я верю vde69 в ( 61). То бишь для каждого поля есть еще и описатель. Если по-твоему изъясняться, то получается, что "все типы ссылочные". Или я че-то не понимаю. |
nop 81 - 19.11.08 - 17:57 | ( 80) Я тоже понимаю так что ссылочные |
КонецЦикла 82 - 19.11.08 - 20:53 | Пепец знатоки епвашумать
Откройте книгу по MS SQL да прочитайте |
ShoGUN 83 - 19.11.08 - 21:01 | ( 82) У меня есть талмуд :) Дело-то не в этом. |
nop 84 - 20.11.08 - 10:37 | ( 82) нах надо, оно и без меня 100 лет нормально работает |