|
|
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Всем привет. Много лет как не использую FireBird, но новости подчитываю и мечтаю когда-нибудь перейти на него обратно с ненавситного MSSQL. И тут вот на хабре попалась мне ссылка на презентацию Инаписано там такое: авторCommon SQL : BOOLEAN data type Syntax <data_type> ::= BOOLEAN <boolean_literal> ::= TRUE | FALSE | UNKNOWN Это что же получается, что я не смогу записать значение NULL в поле BOOLEAN, т.е. что-то типа Код: plsql 1. Это не прокатит что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 13:21 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold, NULL и UNKNOWN одно и тоже для BOOLEAN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 13:22 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Goldя не смогу Давно бы попробовал... "NULL - не значение, а состояние." (с) ХБ. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 13:24 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Мне попробовать не на чем. Если работает, то почему список литералов не выглядит так: <boolean_literal> ::= TRUE | FALSE | UNKNOWN | NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 13:37 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
GoldМне попробовать не на чем. Бедный, компьютера нет, сообщения на форум пишешь с мобильника... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 13:49 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
От вы интересный. И зачем оно мне надо ставить сервер и тулы и пробовать если я пишу что я с FireBird не работаю. Я сюда пришёл обговорить это место с теоретической точки зрения чтобы все ещё раз это обдумали и сошлись во мнении хорошо это сделано или нет. Ведь получается же как. Если считать что в списке литералов нет NULL, потому что кто-то думает что NULL - это не литерал, то тогда NULL - это не одно и то же что UNKNOWN. Я вот читаю дальше там примеры идут с выражениями наподобие BOOLFIELD IS UNKNOWN. Типа как получается что здесь UNKNOWN используется заместо NULL. Ну так тогда возникакет вопрос: раз он такой же как NULL, то тогда он тоже должен не быть литералом и с каких дел он в списке допустимых значений предствлен. А также и следующий вопрос возникает: раз NULL то же самое что UNKNOWN, тогда можно пи в других местах использовать UNKNOWN вместо NULL, с числами например. Ну в общем я удочку закинул. Кто за это ответственен - он прочитает и ответит, если посчитает нужным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:00 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold, а ты видел где нибудь для целочисленных или строковых литералов указание что туда можно ставить NULL. Это как бы подразумевается по умолчанию. NULL можно засунуть в любой тип, если нет ограничения NOT NULL. А про то UNKNOWN и NULL это одно и тоже в доке кстати написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:13 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
GoldА также и следующий вопрос возникает: раз NULL то же самое что UNKNOWN, тогда можно пи в других местах использовать UNKNOWN вместо NULL, с числами например. Конечно, трудно запретить идиотам использовать boolean literal с числами, но я надеюсь, что даже им этой забавы надолго не хватит. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:15 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Фигасе сколько лет прошло, Саша Голд объявился... :) P.S. Дим, осади коней, будь любезен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:21 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Goldпочему список литералов не выглядит так потому то NULL это не литерал спецификация SQL5.3 <literal> Function Specify a non-null value. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:22 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, привет. Та зашёл тут, сколько лет прошло. Как меня кумарит этот MSSQL, если б ты знал, но никак не могу с него слезть, с реплотой всспоминаю о фаербёде и как Влад лично для нас сборки по почте с багофиксами присылал. Мыслимо ли это для MSSQL :-) dimitr, и тебе привет. Ну я подозревал что вы так так это трактуете. Но согласись что в этом есть некоторая неоднозначность. Ты же пишешь что литерал - это функция, которая представляет значение NOT NULL. А UNKNOWN - представляет значение NULL и он литерал почему-то. Это называется "двойные стандарты". Я понимаю что есть там стандарт и все дела, но этот UNKNOWN вносит смуту. Вы же, по сути, сделали его синонимом для NULL. Вот что такое UNKNOWN? Это слово перводится как НЕ ИЗВЕСТНО. А если запихнуть в число NULL, то что это будет? Тоже ведь не известно? Тогда получается что этот UNKNOWN вполне подходит для применения вместо NULL повсеместно. Вот у майкрософта по другому сделано. Они не парились особо и сделали такой тип данных как BIT, и всё. А EntityFramework его трактует как boolean. И нет вопросов и не надо никаких UNKNOWN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:37 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
К тому же теперь пользователю надо соображать что чему равно UNKNOWN = NULL, UNKNOWN <> NULL, UNKNOWN IS NULL, UNKNOWN IS DISTINCT FROM NULL и все эти мутные штучки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:40 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold, ничего не нужно соображать. К сравнению UNKNOWN с другими величинами применяются те же правила, что и при сравнении NULL. Не нравится тебе UNKNOWN используй вместо него NULL вот и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:48 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Ещё скажу. Пишет пользователь так: Код: sql 1. 2. Потом делает SELECT BOOL_FIELD FROM MyTable А что ты ему покажешь? NULL NULL Так? А у человека возникнет вопрос закономерный. Он скажет что он же литерал вставил, не NULL. Чё за дела, верните мой литерал. Все остальные литералы возвращает, а этот нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:54 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold> Как меня кумарит этот MSSQL, если б ты знал, но никак не могу с него слезть А на какой верси вы сидите? И что именно не нравится? СУБД как СУБД, со своими плюсами и минусами - хоть достаточно распространена и популярна, по крайней мере. > Вот что такое UNKNOWN? ИМХО ты тупо до буковки доколупался. Нет никакой разницы и проблем. Я Пастернака не читал, но скорее всего UNKNOWN просто эквивалент NULL только для boolean полей. Со всеми вытекающими. Как только ты это примешь все остальные вопросы про <>, = и пр. автоматически снимутся. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:55 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold> А что ты ему покажешь? По идее NULL UNKNOWN Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:58 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Симонов Денис> К сравнению UNKNOWN с другими величинами применяются Симонов Денис> те же правила, что и при сравнении NULL Справедливости ради, результат операций сравнения таки надо явно прописать (если не уже) - Null будет возвращено или UNKNOWN. Ну и про поля Not Null. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 14:58 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, та ну вот есть у нас кто на XP и там выше 2008 не получается. Тянули всех на 2008, но решил я на 2012 перходить. Делал инсталляцию. Щас же как хотят - чтоб всё в один клик ставилось. Начал встраивать в иснталлятор предустановку сервера, обычный весит под триста мегабайт, а с ManagementStudio гигабайт. Это ужас, не у всех же интернет нормальный. Потом триггеры ихние и курсоры - это ужас. По поводу до буковки доколупался. Моё мнение такое что надо сначала всё продумывать, а потом делать. А то будет как помню с индексами по выражению. Сделать сделали, а потом оказалось что туда можно и подзапрос воткнуть и что угодно. И, с одной стороны, это лучше чем ничего, а с другой на лицо то, что теория плохо проработала и у определённой части людей это вызовет проблемы. Например у майкросовта есть понятие детерминированных функций и нет и контролируется что можно в выражениях использовать и что нет. И разница в том, что система больше защищена от неправильного использования. Врядли ты поспоришь что это хорошо. Вообще щас же все пытаются максимально всё упростить и сделать дуракоустойчивым. Если не брать во внимание стандарт, то мне не понятно зачем вообще нужен был этот UNKNOWM. Так мало того, я уверен что можно придумать выражение, которое завалит сервер, какой-нить CAST(UNKWNOWN AS ... b т.д. и т.п. написать, где оно не доделано, и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:09 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
авторПо идее NULL UNKNOWN Я на 99.99999 уверен что это не так. Хотя где это написано? Опять же, лишние вопросы у людей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:13 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold> с ManagementStudio гигабайт А нафига ты им SSMS суёшь-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:15 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Так надо бывает в базе пколупаться. А бывает надо просто приаттачить существующую или восстановить из бэкапа. Я же не могу в свой инсталлятор и конфигуратор напихать всё это - слишком круто будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:22 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
К стати про UNKNOWN ещё придумал тему. Раз это литералл, то человек подумает: ага, я могу использовать это в CHECK CONSTRAINT, и скорее всего у него что-то не срастётся... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:24 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:26 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:28 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38816071&tid=1563175]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
209ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 568ms |

| 0 / 0 |
