Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Мне кажется на уровне сервера не должно быть никаких неявных преобразований никаких пустых строк в никакой NULL. В конце концов если я написал <WHERE Field = ''>, то значит именно это я и написал и не надо за меня выдумывать всякие NULL. Если мне сильно захочется контролировать, чтобы в стринговых полях не было пустых строк, никто мне не мешает сделать домен <VARCHAR() CHECK (Len(@) > 0)> и выбирать его в качестве типа для строк или же где нужно делать BEFORE TRIGGER, который пустые строки явно преобразовывает в NULL. авторЕщё в аксессе так же, как и в оракле Только в отличие от оракла поведение можно себе на голову изменить : If you want Microsoft Access to store a zero-length string instead of a Null value when you leave a field blank, set both the AllowZeroLength and Required properties to Yes. ну и соответственно продолжение банкета : You can use the Format property to distinguish between the display of a Null value and a zero-length string. For example, the string "None" can be displayed when a zero-length string is entered. Нуу, так как PowerBuilder дедушка Access, то естественно в нем то же самое. И я считаю это правильным - программист клиентской части на каждое поле вправе выставить флаги "IsEmptyToNull" (если пустое, то в NULL) и "Required" (обязательно к заполнению), таким образом вводя дополнительную проверку на ввод данных к контролю БД. Ну а для тех инструментов построения клиентских приложений, у которых такой возможности контроля преобразования пустых значений нет ... считаю это их личными проблемами, ни коим образом не влияющими на работу СУБД и уж тем более механизм интрепретации пустых строк и NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 07:05 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarerПользователю, благодаря Вам вынужденному помнить Попрошу не примазывать меня к программистам СУБД Оракл и программ сделанных на его основе. Смею заверить, что это вовсе не благодаря мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 12:12 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Александр Гoлдун ye z пишет: > Во-первых, с какого это перепугу в числовое поле идет NULL? Ввод был? > Был. Величина NULL может появиться только в двух случаях - либо был > insert и в списке полей это поле не указано, и у поля нет дефолтового > значения, либо был insert или update и значение поля было явно указано > как NULL. Вы указывали NULL явно самолично? Конечно! Путем стирания числового значения. Тема об эквивалентности пустой строки и NULL а также пустой строки в поле ввода числа / валюта / дата - флеймовая. И давайте впредь не распространять внутренние соглашения одной отдельно взятой системы, к которой Вы привыкли, на все остальные какие только есть. Если у Вас принята такая эквивалентность, то так и пишите - у нас это (я не буду возражать если укажете где именно) так-то и так-то, все пользователи предупреждены и все такое, мы решаем вопросы согласования данных / экспорта / импорта так-то и так-то. Мы с интересом это прочтем. Александр Гoлдун ну я пишет: > note: ye z - это я. Это диагноз... Не перегибайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 12:35 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
ну я softwarerПользователю, благодаря Вам вынужденному помнить Попрошу не примазывать меня к программистам СУБД Оракл Я Вас как раз отмазываю от этого благородного сословия. Именно Вы говорите, что стартовый null в поле, и пустая строка, появляющаяся после ввел-очистил - это две разных пустых строки. Ораклоиды так не делают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 12:42 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
ASCRUSЕсли мне сильно захочется контролировать, чтобы в стринговых полях не было пустых строк, никто мне не мешает сделать домен И я считаю это правильным - программист клиентской части на каждое поле вправе выставить флаги "IsEmptyToNull" (если пустое, то в NULL) и "Required" Само по себе - правильно. Но давайте представим приложение, допустим, тысяча форм, из них штук шестьсот - ввод данных. В каждой форме десять-двадцать полей. Итого - из десяти тысяч потенциальных "вправе" программист клиентской части несколько раз забыл, ошибся.. Повторюсь: как только я столкнулся с прямой необходимостью это предусматривать - я стал больше ценить оракловое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 13:30 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarerИменно Вы говорите, что стартовый null в поле, и пустая строка, появляющаяся после ввел-очистил - это две разных пустых строки. Ну как же Вас тянет приписать мне чего-нибудь, я даже с интересом наблюдаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 13:33 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
ну яНу как же Вас тянет приписать мне чего-нибудь, я даже с интересом наблюдаю. Вы лучше с интересом почитайте во-первых, свои предыдущие сообщения, а во-вторых, те сообщения, на которые Вы отвечали. Авось, найдете что-нибудь занимательное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 13:39 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarer ASCRUSЕсли мне сильно захочется контролировать, чтобы в стринговых полях не было пустых строк, никто мне не мешает сделать домен И я считаю это правильным - программист клиентской части на каждое поле вправе выставить флаги "IsEmptyToNull" (если пустое, то в NULL) и "Required" Само по себе - правильно. Но давайте представим приложение, допустим, тысяча форм, из них штук шестьсот - ввод данных. В каждой форме десять-двадцать полей. Итого - из десяти тысяч потенциальных "вправе" программист клиентской части несколько раз забыл, ошибся.. Повторюсь: как только я столкнулся с прямой необходимостью это предусматривать - я стал больше ценить оракловое решение. По мне уж лучше CHECK для поля или домена. В принципе конечно может у меня привычка сложилась не доверять программистам клиентских приложений (в том числе и себе), но на БД у меня всегда поднят полный контроль на все мыслимые чихи не только пользователей, но и программистов/админов. С одной стороны это мне гарантирует целостность данных вне зависимости от того, кто, когда и как пытался их внести. С другой стороны такой контроль неплохо себя зарекомендовал как бесплатный автотестер кодерской части, который частенько тыкает программеров клиентской части носом в различные несоотвествия того, что есть и что/как они пытаются получить/изменить. Единственное критическое место с полным отсутствием такого "тотального" контроля (да и фактически вообще какого либо) - это таблицы, которые заполняются (юзаются) расчетными алгоритмами БД (те же архивы), на которые только стоят хитрые триггера "AFTER FOR EACH STATEMENT", запрещающие их любое изменение для любого процесса, кроме самих расчетов в БД, что опять же сделано для полного перекрытия кислорода любителям поправлять ручками расчитанные цифры. Все остальное, в том числе и FOREIGN KEY с этих таблиц снято с целью обеспечения максимальной производительности расчетов. Естественно не для каждой СУБД можно легко, просто и без потери производительности опускаться до такого "параноидального" проектирования БД, но с другой стороны если мне СУБД позволяет, то я не пожалею времени подстраховаться от человеческих ошибок :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 13:45 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
ASCRUSПо мне уж лучше CHECK для поля или домена. По мне лучше и то, и другое. К сожалению, валить все проверки на сервер крайне неудобно - по ряду причин, скажем, сервер обычно выдает только первую ошибку, в то время как желательно показать все сразу. Полностью автоматизировать перенос ограничений с сервера на клиент не получится - есть достаточно сложные моменты, которые формальными constraint-ами не сформулируешь. Делать все ограничения в базе - оставлять ее беззащитной перед неаккуратной работой саппорта. Так что лучше объединить. ASCRUSно на БД у меня всегда поднят полный контроль на все мыслимые чихи не только пользователей, но и программистов/админов. Полностью согласен и поступаю так же. И это в том числе снизит стоимость ошибки программиста клиентской части. Но подход, при котором у него практически нет шансов ошибиться, меня все равно устраивает больше. "Практически нет" - в данном случае, статистика по работе меня и коллег. Для примера - для дельфи ошибку приведения AnsiString к PChar (вызывающую access violation) я видел минимум на порядок чаще, чем ошибку с null-пустой строкой. Хотя я и первую видел не то чтобы часто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 13:58 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarerПовторюсь: как только я столкнулся с прямой необходимостью это предусматривать - я стал больше ценить оракловое решение. Какой бред! Научитесь отделять мух от котлет. Возьмите нормальные контролы в нормальной клиентской среде или допишите имеющиеся, если умеете конечно, и будет вам счастье с любым сервером. Данное же поведение Oracle не вписывается в стандарт ANSI SQL. Поэтому вы можете называть это сколь угодно замечательной фичей, но на самом деле это не очень хорошо , т.к. вносит путаницу на уровне сервера, а не на уровне ваших клиентских "фейсов": Код: plaintext 1. Это отклонение от ANSI SQL, так же как отсутствие JOIN в более ранних версиях Oracle, осложняеет переносимость кода с других серверов и создание приложений работающих с разными серверами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 16:01 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
LeonidКакой бред! Научитесь отделять мух от котлет. Возьмите нормальные контролы в нормальной клиентской среде или допишите имеющиеся, если умеете конечно, и будет вам счастье с любым сервером. Последуйте собственному примеру - отделите мух от котлет. Или расскажите мне, как нормальные контролы в нормальной клиентской среде позволят мне писать работающие запросы. Заодно - ознакомьтесь с упоминанием недостатка, который я вижу в "нормальных клиентских контролах". LeonidДанное же поведение Oracle не вписывается в стандарт ANSI SQL. Я абсолютно уверен в том, что Вы внимательно прочитали стандарт ANSI SQL, хорошо обдумали утверждение и говорите со знанием дела. Или же Вы опираетесь на опыт MSSQL, где невозможно предсказать результат выполнения следующего простейшего скрипта: Код: plaintext 1. LeonidПоэтому вы можете называть это сколь угодно замечательной фичей, но на самом деле это не очень хорошо , т.к. вносит путаницу Я с громадным интересом выслушаю Ваше описание практического опыта разгребания этой путаницы. До той поры останусь при своем опыте - не видел, чтобы кто-либо ощущал от этого заметное неудобство. Leonidдля Oracle полностью идентичны и вставят в таблицу значения NULL, а не NULL и пустую строку. На самом деле это зависит от типа колонки, но не суть. Да, это так. Утверждение "создает путаницу" при этом сродни утверждению авторов венгерской нотации - мол, ее неиспользование также создает путаницу с переменными. LeonidЭто отклонение от ANSI SQL, так же как отсутствие JOIN в более ранних версиях Oracle, осложняеет переносимость кода с других серверов и создание приложений работающих с разными серверами. Наполовину согласен. Наполовину - потому что приложения, работающие с разными серверами, создаются вовсе не написанием кода, компилируемого любым из серверов (если, конечно, цель - создать работающее, а не демонстрационное, приложение). Итак: да, осложняет перенос. Зато облегчает разработку. Имхо, если поднять статистику - обнаружится, что разработок существенно больше, чем переносов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 16:29 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
2 softwarer Допустим есть таблица с неким символьным полем fld. И есть некий параметр. Вам надо выбрать все значения равные этому параметру. Если параметр не задан (т.е. null) - ничего выбирать не нужно. Получается что в Оракле в этом случае выберуться записи с пустыми значениями, что, согласитесь, нелогично - если надо выбрать записи с пустой строчкой то и параметр должен быть задан пустой строкой. softwarer Я абсолютно уверен в том, что Вы внимательно прочитали стандарт ANSI SQL, хорошо обдумали утверждение и говорите со знанием дела. Или же Вы опираетесь на опыт MSSQL, где невозможно предсказать результат выполнения следующего простейшего скрипта: Код: plaintext А Вы то хорошо обдумали? Я лично могу предсказать результат - 'not equal', поскольку null = null -> null -> false ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 17:00 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
SergSuper2 softwarer Допустим есть таблица с неким символьным полем fld. И есть некий параметр. Вам надо выбрать все значения равные этому параметру. Если параметр не задан (т.е. null) - ничего выбирать не нужно. Получается что в Оракле в этом случае выберуться записи с пустыми значениями, что, согласитесь, нелогично Это было бы нелогично, если бы происходило именно так. Но поскольку происходит по-другому - все будет в точности так, как Вы хотите :) Вопрос в другом. Oracle не различает null и пустую строку, и как следствие - любая задача, где хочется их различать, требует изменения в проектном решении. Можно сказать, что в Oracle нет такой фичи - как, скажем, в каком-то другом сервере нет каких-то других фич. Там, где они нужны, их приходится компенсировать работой проектировщика. Да, конечно, с точки зрения "лучше, чтобы было все" это недостаток. Но - недостаток, который до недавнего времени я считал практически не мешающим. А с недавнего времени считаю еще и практически удобным :) SergSuper А Вы то хорошо обдумали? Я лично могу предсказать результат - 'not equal', поскольку null = null -> null -> false Значит, как ни странно, я знаю MSSQL лучше Вас. Поскольку для меня не составит труда получить результатом скрипта как тот, так и другой результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 17:21 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
softwarerИли расскажите мне, как нормальные контролы в нормальной клиентской среде позволят мне писать работающие запросы. Заодно - ознакомьтесь с упоминанием недостатка, который я вижу в "нормальных клиентских контролах". У вас не контролы типа "DBEditBox" обновляют данные в БД а запрос порождаемый на основании данных измененных этим контролом в DataSet-е. Как это делается, сильно зависит от среды. softwarerЯ абсолютно уверен в том, что Вы внимательно прочитали стандарт ANSI SQL, хорошо обдумали утверждение и говорите со знанием дела. Или же Вы опираетесь на опыт MSSQL, где невозможно предсказать результат выполнения следующего простейшего скрипта: Результат выполнения этого скрипта зависит от значения SET ANSI_NULLS В случае SET ANSI_NULLS ON он будет not equal (правильно с точки зрения ANSI SQL), как вам уже объяснил SergSuper. Если бы у Oracle был бы такой "переключатель" на "правильное понимание NULL" вопрос бы отпал сам собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 17:59 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
LeonidУ вас не контролы типа "DBEditBox" обновляют данные в БД а запрос порождаемый на основании данных измененных этим контролом в DataSet-е. "Запрос, порожденный на основании данных" - это, извините, бред. Данные - параметры - подставляются в запрос, в том числе в MSSQL. Другой вопрос, что судя по словам pkarklin , в MSSQL это делается сильно.. неординарно, через промежуточную обертку. Leonid Как это делается, сильно зависит от среды. Если Вы не понимаете, что такое "написать запрос" - боюсь, я не смогу объяснить Вам, о чем, собственно, спрашивал. LeonidРезультат выполнения этого скрипта зависит от значения SET ANSI_NULLS Я в курсе :) LeonidЕсли бы у Oracle был бы такой "переключатель" на "правильное понимание NULL" вопрос бы отпал сам собой. "Правильное", видимо, равно "как в MSSQL"? На заданный вопрос Вы не ответили: Вы действительно внимательно проанализировали стандарт? Какой именно? Или просто вякаете "не соответствует", поскольку не соответствует известной Вам реализации, про которую говорят, что она соответствует стандарту? Кстати, если бы был переключатель - это было бы хуже любого решения. Самое мерзкое, что имеет разработчик - знание, что "посмотреть на программный код" недостаточно, чтобы быть уверенным, как же он будет работать. Что и показывает мой пример - судя по объяснению SergSuper, наткнувшись в форуме на проблему типа "у меня такой скрипт выдает "равно"", он сказал бы "такого не может быть". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 18:10 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Еще раз повторю, что вы говорили: softwarerВ каждой форме десять-двадцать полей. Итого - из десяти тысяч потенциальных "вправе" программист клиентской части несколько раз забыл, ошибся. softwarerПоследуйте собственному примеру - отделите мух от котлет. Или расскажите мне, как нормальные контролы в нормальной клиентской среде позволят мне писать работающие запросы. Заодно - ознакомьтесь с упоминанием недостатка, который я вижу в "нормальных клиентских контролах". А теперь вы говорите: softwarerЕсли Вы не понимаете, что такое "написать запрос" - боюсь, я не смогу объяснить Вам, о чем, собственно, спрашивал.Да уж, боюсь не пойму Вы, похоже, сами прыгаете между понятиями. Хочется спросить вы сами-то понимаете о чем говорите? :) softwarerДругой вопрос, что судя по словам pkarklin, в MSSQL это делается сильно.. неординарно, через промежуточную обертку.?????? О чем это вы? Вы пишете/писали клиентские приложения? На чем? автор"Правильное", видимо, равно "как в MSSQL"?Нет, как в ANSI SQL В том же MSSQL вне зависимости от SET ANSI_NULLS, NULL <> '' авторНа заданный вопрос Вы не ответили: Вы действительно внимательно проанализировали стандарт? Какой именно? Или просто вякаете "не соответствует", поскольку не соответствует известной Вам реализации, про которую говорят, что она соответствует стандарту? Вы раздражены и озлоблены, а значит не правы :) Но отвечать по хамски и я могу: Поэтому, еще раз для тупых: пустая строка - это не NULL. NULL - это "ничто". Придется вам с этим жить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 18:37 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
LeonidЕще раз повторю, что вы говорили: Заодно повторите пожалуйста то, что опустили из этого повторения. По поводу процитированного - я говорил о нежелании ставить галочки в каждом из 10.000 dbcontrol-ов. Кроме того, я говорил о том, что "решают" по-разному, и в результате де-факто ER-ки становится недостаточно, чтобы написать запрос - нужно еще смотреть, что именно решили в каждом конкретном случае. Leonid softwarerДругой вопрос, что судя по словам pkarklin, в MSSQL это делается сильно.. неординарно, через промежуточную обертку.?????? О чем это вы? О том, что MSSQL по каким-то странным причинам не поддерживает обычный binding параметров. Поэтому передаваемый с клиента SQL приходится либо оборачивать в вызов хранимки (кажется, sp_executesql - так, в частности, автоматом поступает ADO), либо нагружать сервер дополнительной работой по parsing-y. В том же MSSQL вне зависимости от SET ANSI_NULLS, NULL <> '' И? Вы раздражены и озлоблены, а значит не правы :) Вы ожидаетесь в первом и втором, а значит рискуете ошибиться и в третьем. Поэтому, еще раз для тупых: пустая строка - это не NULL. NULL - это "ничто". Придется вам с этим жить Если для тупых - то почему жить с этим мне? Тем более, судя по всему, с этим живете Вы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 19:37 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Тут грят, что Оракл NULL и пустую строку не различает. Объясните мне, значит ли это, что если я в оракле сделаю подряд Код: plaintext 1. а потом сделаю Код: plaintext 1. то он мне обе строки вернёт? Или он все же вернет именно так, как я это вставил - т.е. только вторую сторку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 19:58 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Мимо пробегал... пишет: > Тут грят, что Оракл NULL и пустую строку не различает. Объясните мне, > значит ли это, что если я в оракле сделаю подряд > > INSERT INTO TEST(COL1) VALUES(NULL) и > INSERT INTO TEST(COL1) VALUES('') > > > а потом сделаю > > SELECT * FROM TEST WHERE COL1 = '' > > > то он мне обе строки вернёт? Или он все же вернет /именно так, как я это > вставил/ - т.е. только вторую сторку? Не угадал оба раза. Читай первое сообщение в топике. Твой запрос не вернет вообще ничего. А вот WHERE COL1 IS NULL вернет обе строки. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 20:21 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
То есть фактически в Оракле LENGTH(NULL) = 0 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 20:33 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
О! я опять не угадал Спецом нашел руководство разработчика... Фраза оттуда Код: plaintext ИМХО обзывая это как "известная багофича" последнее слово надо писать как "багофича". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 20:44 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Александр Гoлдун> INSERT INTO TEST(COL1) VALUES(NULL) и > INSERT INTO TEST(COL1) VALUES('') > а потом сделаю > > SELECT * FROM TEST WHERE COL1 = '' Твой запрос не вернет вообще ничего. А вот WHERE COL1 IS NULL вернет обе строки. Александр, не флейма ради, а истины для: в нашей системе за подобные шалости сервера нас бы давно порвали на британский флаг. Это я к тому, что мир разнообразен и не сводится к глобусу Оракла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 21:31 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
Мимо пробегал...Если строка str пуста, LENGTH возвращает NULL. Прошу прощения, а что вставится в таком запросе insert into test( intcol) values( LENGTH(:a) + LENGTH(:b)) если один из параметров a или b окажется пустой строкой? Тоже NULL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 21:42 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
авторЗначит, как ни странно, я знаю MSSQL лучше Вас. Поскольку для меня не составит труда получить результатом скрипта как тот, так и другой результат. Вы не находите что всё-таки есть разница между "результат неопределён" и "результат зависит от настроек"? А то напишите SET PARSEONLY On и с чистой совестью можете говорить что MS SQL вообще ни один запрос не может выполнить. Что касается стандарта ANSI, точнее его внимательного прочтения. Я лично его не читал, не знаю читал ли его Leonid, сомневаюсь что Вы его читали, но думаю в MS то кто-то его читал, не просто так же они назвали ANSI_NULLS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 22:58 |
|
||
|
Нарвался в Оракле. Может везде так...
|
|||
|---|---|---|---|
|
#18+
2 softwarer: кроме строковых, есть и другие типы. для каждого делать своё поведение на null? например, BLOB. Может при вставке вордовского документа стоит проверить его на "пустоту" и вставить null вместо пустого документа (а он ведь есть, хоть и пустой)? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 08:39 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=32951931&tid=1553920]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 349ms |

| 0 / 0 |
