|
|
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
В одной задаче нужно сохранять и различать null и пустую строку в текстовом поле. Подскажите, как это лучше сделать? Использовать в качестве пустой строки текст, который не будет встречаться в нормальных данных? ________________________ Мы смотрим с оптимизмом... ...в оптический прицел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 12:05 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Alibek B., CLOB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2016, 12:44 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Кривая задача . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 16:44 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
JebrailКривая задача .почему кривая? Отчество null - неизвестно Отчество "пустая строка" - известно, что отсутствует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 18:58 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
andreymxОтчество "пустая строка" - известно, что отсутствует N/A ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 23:24 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
фыва123andreymxОтчество "пустая строка" - известно, что отсутствует N/A ?этот народ - такие сволочи вдруг придумают отчество N/A ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2016, 23:42 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
andreymxОтчество null - неизвестно Отчество "пустая строка" - известно, что отсутствуетВо-первых, в интерфейсе "неизвестно" от "отсутствует" тоже придетсяо отличать. Во-вторых, типичные операции над отчеством - соединить через пробел в ФИО или взять первую букву и приписать точку. Что с пустой строкой, что со спецстрокой, городить case. То есть принципиальной пользы от пустой строки нет. Зато другая сторона граблей - необходимость во всех остальных случаях проверять X is null or X=''. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 00:17 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
так то для varchar в oracle '' и null эквивалентны Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. Дополнительный столбец 0/1 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 08:24 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
chr(0)Во-вторых, типичные операции над отчеством Речь не про отчество. Оборудование принимает набор параметров, один из параметров отвечает за назначение адреса. Возможны три варианта: 1. Параметр в наборе отсутствует — назначается произвольный адрес из пула допустимых значений. 2. Параметру задано значение адреса — назначается выделенный адрес из пула зарезервированных значений. 3. Параметр в наборе присутствует, но значение не задано — назначается произвольный адрес и этот адрес в дальнейшем резервируется. Пустая строка как раз под третий случай подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 10:10 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Alibek B.chr(0)Во-вторых, типичные операции над отчеством Речь не про отчество. Оборудование принимает набор параметров, один из параметров отвечает за назначение адреса. Возможны три варианта: 1. Параметр в наборе отсутствует — назначается произвольный адрес из пула допустимых значений. 2. Параметру задано значение адреса — назначается выделенный адрес из пула зарезервированных значений. 3. Параметр в наборе присутствует, но значение не задано — назначается произвольный адрес и этот адрес в дальнейшем резервируется. Пустая строка как раз под третий случай подходит.а налл чем не подходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 10:38 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
andreymxа налл ... см. п.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 10:43 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Alibek B.chr(0)Во-вторых, типичные операции над отчеством Речь не про отчество .. понятное дело, что речь про матчасть про матчасть и речь например, можете определить default Код: plsql 1. и на тот default ловить ваш случай (пустоты, которая не .. совсем .. тьфу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 10:45 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Viewerandreymxа налл ... см. п.1тогда что означает фраза "Параметр в наборе отсутствует"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 10:51 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
1. Параметр (a2) в наборе отсутствует: Код: plaintext 1. 2. 2. Параметр (a2) задан: Код: plaintext 1. 2. 3. 3. Параметр (a2) присутствует, но не задан: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 11:22 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Alibek B.1. Параметр (a2) в наборе отсутствует: Код: plaintext 1. 2. 2. Параметр (a2) задан: Код: plaintext 1. 2. 3. 3. Параметр (a2) присутствует, но не задан: Код: plaintext 1. 2. 3. andreymxа налл чем не подходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 11:32 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
andreymxа налл чем не подходит? ... потому что, видимо, трактовка выглядит так andreymxОтчество null - неизвестно отсутствует Отчество "пустая строка" - известно, что отсутствует неизвестно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 11:52 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
А как тогда различить варианты 1 и 3? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 11:53 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Alibek B.А как тогда различить варианты 1 и 3? ... используйте, скажем, 0 и 1 :) - какая разница, какие значения в коде обрабатывать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 12:00 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Viewer, помню, как-то нашёл в одной UDF: 0 - найдено, null - не найдено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 12:03 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Alibek B.Использовать в качестве пустой строки текст, который не будет встречаться в нормальных данных ? ... напомнило... для мониторинка использовался IPMonitor, для контроля, что портал дышит, он вызывал на портале веб-метод, который формировал страничку, в которую вставлялcя некий признак успешности. IPMonitor анализировал код странички на предмет соответсующего признака. Так как код станички оказался сборищем раздельных и нечленораздельных символов, среди которых можно было много чего найти, остановились на следующем наборе символов удачной операции - ye$_g00d_:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 12:38 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Viewerостановились на следующем наборе символов удачной операции - [b]ye$_g00d_:) Вот как раз этого я и хотел бы избежать, хотя в моем случае список нормальных значений формализован хорошо и можно использовать, например, минус "-". Но и дополнительный столбец бы использовать не хотелось. CLOB не очень удобен, но для задачи подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 12:41 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Alibek B.Но и дополнительный столбец бы использовать не хотелось. Проектировать структуры хранения нужно явным образом, а не на подразумеваниях. Если есть таковая бизнес-необходимость, то нужно создавать флаг-поле "this_value_setted" char(1) not null check "this_value_setted" in ('Y','N') [default ...] и накидывать на таблицу соответствующий чек decode(this_value_setted, 'N', "this_value") is null, а не изобретать велосипедов с квадратными колесами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 13:51 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
offtop проектирование базвелосипед с квадратными колесами ... велотренажёр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 14:01 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Теория без практики мертва и бесплодна. Есть в одной отрасли задача учета и управления ресурсами. Для автоматизации этой задачи есть много различного софта, но нормального нет. Как правило существующий софт заточен под бизнес-процессы конкретного предприятия (собственно он из этого предприятия и вырос) и на других предприятиях им пользоваться неудобно или невозможно. Также есть некоторое количество более универсального софта, который теоретически может автоматизировать нужные процессы, но в как правило все равно требуется дорогая кастомная доработка и из-за того, что архитекторы/программисты далеки от отрасли, использовать этот софт неудобно, он требует в несколько раз больших трудозатрат, чем ведение учета вручную, на бумажках и в Excel. Обычно на тех предприятиях, которые сильно переросли учет вручную, подобный софт является самописным. Пару лет назад сообщество энтузиастов начало разрабатывать опенсорсный продукт, который предназначен для немного других задач, но также позволяет вести учет и управление ресурсами. Сейчас его даже ряд предприятий использует в работе, хотя продукт пока сыроват и недоработан, но зато он архитектурно довольно качественно продуман. Какое-то время назад у меня были мысли самому написать данный софт, я продумал его архитектуру и она была достаточно продуманной (это я уже задним числом вижу), универсальной и расширяемой. Но когда я начал было его реализовать, то понял, что лучше за это не браться, слишком много времени у меня эта задача будет забирать в ущерб основной деятельности. А еще есть другой продукт, написанный на PHP с базой данных MySQL. Написан он ужасно во всех отношениях, на это хватает даже моих умеренных познаний, когда приходится просматривать код или структуру БД, мне просто глаза режет и приходится бороться с желанием начать все исправлять. В программном коде использованы все шаблоны из книги «как не нужно писать программы» (сборка SQL-запроса в строку без экранирования, перемешивание HTML с кодом и т.п.), а в БД вполне обычным будет join по CSV-данным в TEXT-поле. Однако этот продукт работает, он удобен в использовании и практичен, так как разрабатывался с участием отраслевых специалистов. И я его купил и пользуюсь им, несмотря на то, что есть гораздо более архитектурно правильные и качественно запрограммированные альтернативы. Поэтому квадратность колес на практике никакой существенной роли не играет. Если транспорт едет с нужной скоростью и нужными параметрами, то пусть у него будут колеса треугольные или сферические, это мало кому интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 15:03 |
|
||
|
Пустая строка в базе
|
|||
|---|---|---|---|
|
#18+
Alibek B.Написан он ужасно во всех отношениях ... Однако этот продукт работает ... Поэтому квадратность колес на практике никакой существенной роли не играет. Ну и нафига ты тогда тут развел эти стоны "Что же делать?" с горестным заламыванием рук развел? К чему? Говнокодь как получится и чтобы работало и не парься... Будь "нацелен на результат" (tm)! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2016, 15:30 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39375279&tid=1886749]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
4ms |
| others: | 206ms |
| total: | 362ms |

| 0 / 0 |
