powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Размер строки больше размера поля?
5 сообщений из 5, страница 1 из 1
Размер строки больше размера поля?
    #39146795
Квази
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть поле varchar(900) utf8, в нем хранится короткая строка (50 символов). Почему char_length(это_поле) показывает больше 1000.
Пример базы во вложении.
...
Рейтинг: 0 / 0
Размер строки больше размера поля?
    #39146819
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строки в поле notes этой таблицы содержат trailing-пробелы.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
C:\MIX\firebird\fb25\bin>isql /3255:C:\TEMP\1test\PKB.FDB
Database:  /3255:C:\TEMP\1test\PKB.FDB

SQL> show database;
. . .
Default Character set: UTF8

SQL> show table;
       UVD_ACTIONS
SQL> show table uvd_actions;
ID                              INTEGER Not Null
NOTES                           VARCHAR(900) Nullable
CONSTRAINT PK_UVD_ACTIONS:
  Primary key (ID)

SQL> set list on;
SQL> select char_length(notes), octet_length(notes) from uvd_actions;

CHAR_LENGTH                     1182
OCTET_LENGTH                    1200

CHAR_LENGTH                     1182
OCTET_LENGTH                    1200

CHAR_LENGTH                     1182
OCTET_LENGTH                    1200

CHAR_LENGTH                     1182
OCTET_LENGTH                    1200


SQL> select char_length(trim(notes)), octet_length(trim(notes)) from uvd_actions;

CHAR_LENGTH                     32
OCTET_LENGTH                    50

CHAR_LENGTH                     32
OCTET_LENGTH                    50

CHAR_LENGTH                     32
OCTET_LENGTH                    50

CHAR_LENGTH                     32
OCTET_LENGTH                    50
...
Рейтинг: 0 / 0
Размер строки больше размера поля?
    #39146908
Квази
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидСтроки в поле notes этой таблицы содержат trailing-пробелы.
Код: plaintext
1.
2.
C:\MIX\firebird\fb25\bin>isql /3255:C:\TEMP\1test\PKB.FDB
Database:  /3255:C:\TEMP\1test\PKB.FDB

Хммм... Спасибо. А как их вставить?
...
Рейтинг: 0 / 0
Размер строки больше размера поля?
    #39147863
AndreyTarasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КвазиХммм... Спасибо. А как их вставить?

в смысле как их убрать?

Код: sql
1.
2.
3.
update uvd_actions
set 
notes = trim(notes);
...
Рейтинг: 0 / 0
Размер строки больше размера поля?
    #39147874
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyTarasovКвазиХммм... Спасибо. А как их вставить?

в смысле как их убрать?

Код: sql
1.
2.
3.
update uvd_actions
set 
notes = trim(notes);



trim() уберет и конечные и начальные пробелы.
В данном случае надо писать
Код: sql
1.
2.
3.
update uvd_actions
set 
notes = trim(TRAILING FROM notes);
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Размер строки больше размера поля?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]