Как я могу удалить заполненные пустые байты, используя SELECT в MySQL - PullRequest
6 голосов
/ 20 января 2012

Если данные вставляются таким образом,

insert into `t` (`date`, `data`) values ( now(), lpad('Hello', 4096, CHAR(0x00)));

Как получить их, удалив символы NULL из столбца data.Я на самом деле ищу что-то, что делает обратное тому, что делает LPAD.

Определение таблицы:

create table `t` (
    `id` int auto_increment,
    `date` datetime,
    `data` blob,
    primary key (`id`)
);

Обобщенный вопрос: как удалить определенный символ из начала или конца строки?

Ответы [ 2 ]

10 голосов
/ 20 января 2012

Используйте trim () , который поставляется в 3 вариантах:

select trim(leading CHAR(0x00) from data)

или

select trim(trailing CHAR(0x00) from data)

или

select trim(both CHAR(0x00) from data)
1 голос
/ 20 января 2012

Возможно, вы захотите использовать TRIM, как в;

select id, date, trim(trailing char(0) from data) as data from t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...