Я нахожу некоторые столбцы в таблицах, таких как имя колонки в sysdbspaces таблицы из sysmaster базы данных и также некоторые столбцы в таблицах Informix принимают только строчные буквы. Предположим, я создаю табличное пространство с именем Sample с помощью onspaces
команды новое значение в имени колонна sysdbspaces будет образец и не Sample и если я запрашиваю для пространства базы, имя = «Sample» она возвращается ноль . как справляться с чувствительностью к регистру в таких случаях?Использует ли некоторые таблицы в Informix значения столбца только в нижнем регистре?
ответ
Передача комментариев в ответе.
Вы можете получить имена пользователей в верхнем регистре (или смешанных футлярах) в систему, если хотите, включив это имя в кавычки. С sysdbspaces, я думаю, вы застряли; имена преобразуются в нижний регистр, период. Не используйте поиск в смешанных случаях в столбцах, которые содержат только строчные значения.
В качестве примера имен смешанного регистра в системном каталоге:
CREATE TABLE 'McDonald'.Ronald(t INTEGER NOT NULL)
работы и использует имя McDonald
в колонке владельца. Вы также можете играть с идентификаторами с разделителями (имена, разделенные двойными кавычками), но вам нужно установить переменную среды DELIMIDENT.
Кстати, в режиме базы данных ANSI, вы можете написать:
create table whodunnit.murder_mystery (t integer not null);
и каталог системы будет записывать владелец как WHODUNNIT в колпачках. Если вы не укажете имя пользователя или имя пользователя informix
, оно будет преобразовано в регистр.
Вы можете получить имена пользователей в верхнем регистре (или смешанном случае) в систему, если хотите, включив это имя в кавычки. С sysdbspaces, я думаю, вы застряли; имена преобразуются в нижний регистр, период. Не используйте поиск в смешанных случаях в столбцах, которые содержат только строчные значения. –
Могу ли я узнать мистера Леффлера, какие таблицы используются как ** sysdbspaces **, в которых значения столбца преобразуются в нижний регистр? Я нашел тот же случай с ** именем пользователя ** в колонке ** sysusermap ** таблицы ** sysuser **, могу ли я создать имя пользователя в смешанном случае, например ** McDonald **? – Starc
'CREATE TABLE 'McDonald'.Ronald (t INTEGER NOT NULL)' работает и использует имя 'McDonald' в столбце' owner'. Вы также можете играть с идентификаторами с разделителями (имена, разделенные двойными кавычками), но вам нужно установить DELIMIDENT env var. –