如何在MySQL中使用SELECT删除填充的NULL字节

时间:2012-01-20 07:28:47

标签: mysql string

如果以这种方式插入数据,

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

如何从data列中删除NULL字符。我实际上正在寻找与LPAD所做的相反的事情。

表定义是,

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

一般问题是,如何从字符串的开头或结尾删除特定字符?

3 个答案:

答案 0 :(得分:10)

使用trim(),它有3种口味:

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

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

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

答案 1 :(得分:1)

您可能想要使用TRIM,如;

select id, date, trim(trailing char(0) from data) as data from t;

答案 2 :(得分:0)

非常有用。我经常使用 SQLyog 将查询转储到 Excel 中。我在导出中文本字段时遇到了这个问题,此处使用的修剪/尾随函数使我的导出功能正常。