|
|
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, а можешь проверить UNKNOWN IS NULL, UNKNOWN = NULL, UNKNOWN IS DISTICNT FROM NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:32 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
unkonwn применяется только к логическим условиям. Вот на таком примере думаю понятней будет Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. В первом случае я подразумеваю, что значение сравнения неизвестно. Второй случай тоже самое, но уже не столь информативно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:35 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold, это я тебе без проверки скажу true, false, false для UNKNOWN IS NOT DISTICNT FROM NULL будет true ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:37 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
GoldВот у майкрософта по другому сделано. Они не парились особо и сделали такой тип данных как BIT, и всё.А они вообще редко когда парятся :) BIT - это совершенно не BOOLEAN. Это вообще ужас с SQL точки зрения, его наверняка C-шники протянули и, подозреваю, что не в MSSQL, а ещё в древний Sybase :) Запиши в него NULL, например. PS Если тебя смущает UNKNOWN как литерал - просто забудь, что он есть. На практике ничего не изменится ) PPS А пришёл UNKNOWN из троичной логики (TRUE, FALSE, UNKNOWN) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:37 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
hvladЗапиши в него NULL, например.Тут я соврал, похоже. Но не в остальном :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:40 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
hvlad, в стандарте вроде были битовые строки BIT и BIT VARYING, но в SQL:2003 их исключили. Хотя это наверное не то что тип bit у MS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:42 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
GoldК тому же теперь пользователю надо соображать что чему равно UNKNOWN = NULL, UNKNOWN <> NULL NULL (пусто) - это отсутствие значения. А UNKNOWN (неизвестно) - результат операции, если в ней участвует NULL. Например, A + NULL = ... ? Правильно, UNKNOWN! Мог бы и тут почитать. Другое дело, зачем нужен литерал UNKNOWN, если он практически никогда не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:43 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold> Так надо бывает в базе пколупаться Юзерам?! Для себя-то SSMS можешь на флешке таскать или по удалёнке. Gold> Рустам, видишь Вижу. Согласен. Хреново. Если того не требует стандарт разве что. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:45 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Дима тоже зажигает, молодец Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:46 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, да я и так прекрасно понимаю что должно быть. Это так, проверка что в сервере правильно сделано. hvlad, привет :-) Ну про bit - я в него постоянно нулы пишу. Лет 7 наверное. От тебя узнал что с этим проблемы могут быть. авторPS Если тебя смущает UNKNOWN как литерал - просто забудь, что он есть. На практике ничего не изменится ) PPS А пришёл UNKNOWN из троичной логики (TRUE, FALSE, UNKNOWN) Я то, слава богу, понимаю как он работает. Много чего в жизни я не понимаю, но это понимаю вроде :-) Просто этот UNKNOWN будет постоянно сбивать с толку новичков, вот увидишь. Я бы мог понять, наверное, если бы вы сделали и написали так: вводится новое ключевое слово UNKNOWN, которе является синонимом NULL. как лично ты считаешь, выражение типа SELECT CAST(NULL AS INT) IS UNKNOWN логичное или нет? Я не вижу в нём ничего эдакого. А такое выражение SELECT COALESCE(@Parameter AS UNKNOWN) = TRUE будет работать? Вы же, объявляя какое-то слово литералом, наделяете его определёнными свойствами, а получается на практике что не совсем ото так, тот же пример с SELECT UNKNOWN возвращает NULL А ещё вопрос что вернёт SELECT CAST(TRUE AS VARCHAR(10)), CAST(UNKNOWN AS VARCHAR(10)) Новички сойдут с ума ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:51 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
kdvДругое дело, зачем нужен литерал UNKNOWN, если он практически никогда не нужен Вот! Он запутывает!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 15:53 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
GoldВот! Он запутывает!!! Он повышает порог вхождения и тем самым приносит пользу сообществу в целом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:03 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
GoldНу про bit - я в него постоянно нулы пишу. Лет 7 наверное. От тебя узнал что с этим проблемы могут быть.Ну а я за 15 лет ни разу не нашёл причин его использовать. За нуллы я уже сказал, что ошибся. GoldНовички сойдут с ума ;-)Сойдут. Но по другим поводам ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:06 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
авторНу а я за 15 лет ни разу не нашёл причин его использовать. За нуллы я уже сказал, что ошибся. А на чём же ты к нему обращаешься? Видатьна чём-то раритетном. Я вот на EntityFramework с ним работаю и прекрасно он отображается на boolean. Что-то у тебя там совсем раритетное, наверное ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:10 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
GoldSELECT COALESCE(@Parameter AS UNKNOWN) = TRUE ну это фигня полная. Здесь ошибка будет. Видимо ты на MSSQL засиделся, здесь параметры не так пишутся. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Здесь как раз всё логично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:18 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамДима тоже зажигает, молодец я? тогда давайте ткнем пальцем в того, у кого в коде используется слово UNKNOWN. Я не спорю с кошерностью этого литерала, вообще, ибо в трехзначной логике состояния все же true/false/unknown, а не true/false/null. https://ru.wikipedia.org/wiki/UNKNOWN_(логическое_значение) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:22 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov> Он повышает порог вхождения Злой ты. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:24 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, написал неправильно Надо так: SELECT COALESCE(@Parameter, UNKNOWN) Глубокий смысл этого заключается в том, что тип параметра не известен, а COALESCE() помогает его определить по второму аргументу. Уже не помню по давности лет где это было нужно, но помню что было очень нужно. Здесь, как раз, получается так, что UNKNOWN имеет смысл и тип данных для COALESCE(@Parameter, UNKNOWN) lолжен быть BOOLEAN, а для COALESCE(@Parameter, NULL) не известен (или вообще такое не должно компиллироваться ввиду абсурдности). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:24 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
К стати, вот это вот FROM RDB$DATABASE я смотрю так и здравствует поныне, упрощённый синтаксис типа SELECT 1, 'abc' так и не разрешили :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:26 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold> Здесь, как раз, получается так В твох примерах с коалеской нкакх проблем нет - в первом должен быть булн, второй не скомпилится. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:26 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Gold> упрощённый синтаксис Кому он нафиг нужен? Обсуждалось же мильон раз. И инсерты множественные обсуждались (не знаю, добавили в тройку или нет). Ты тут на всё скопом решил пожаловаться что ли? :) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:28 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, повторю, дело не в том, что оно вернёт в качестве данных, а в том, что оно вернёт в качестве типа столбца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:28 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
авторИ инсерты множественные обсуждались (не знаю, добавили в тройку или нет). Ты тут на всё скопом решил пожаловаться что ли? :) Ну я же говорю что всё время хочу перейти. Хочется чтобы всё было прекрасно :-) ножественные инсёрты тоже вещь. Раз пользовался в жизни, зато как они не облегчили всё, ммммм :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:33 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
GoldК стати, вот это вот FROM RDB$DATABASE я смотрю так и здравствует поныне, упрощённый синтаксис типа SELECT 1, 'abc' так и не разрешили :-( это не стандартно. Обсуждалось пришли к выводу что надо как то так CORE-3880 Код: sql 1. 2. или даже так Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:37 |
|
||
|
FB3 и BOOLEAN
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, это тоже вкусные плюшки. Но написать что-то типа авторSELECT NULL AS Id, '(Not selected)' AS NAME UNION ALL SELECT Id, Name FROM MyTable Это очень просто, прозрачно и удобно. Да, можно жить без этого. Интересно, к стати, когда пишется что-то типа SELECT 1 FROM RDB$DATABASE, то происходят ли в движке какие-то лишние действия относительно RDB$DATABASE, которых можно было бы избежать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2014, 16:42 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38816330&tid=1563175]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
87ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 549ms |

| 0 / 0 |
