我在一个文件上运行cat -v,请参阅^ K我希望看到某种空格,但不知道如何将该代码转换为我可以用来查找和替换MySQL中的字符的内容
上下文:我有一个mysql字段,最后看起来有一个换行符,就像我查询它时一样,输出结束了。
select t_unid_contact , concat('"',t_phone,'"') , t_phone from contacts_june_2013 where T_UNID_Contact = 'CN726181'; +----------------+-------------------------+-------------+ | t_unid_contact | concat('"',t_phone,'"') | t_phone | +----------------+-------------------------+-------------+ | CN726181 | "4155551212 " | 4155551212 | +----------------+-------------------------+-------------+ 1 row in set (0.00 sec)
我尝试了这些WHERE子句,尝试识别具有隐藏字符的行,但没有得到任何结果:
where t_phone like '%\n%' where t_phone like '%\r%' where t_phone like '%\r\n%' where t_phone like '%\k%' where t_phone regexp '[\r]' where t_phone regexp '[\k]' where t_phone regexp '[\n]' where t_phone regexp '[\r\n]'
我将问题行输出到csv并运行它来查看它;这是输出:
cat -v testwhitespace.csv "CN726181","4155551212^K"
有没有人知道如何识别我的表格中的空格字符,这样我就可以使用replace()去除它?
由于
答案 0 :(得分:1)
^K
是垂直/行制表字符U+000B的控制代码。
REPLACE(my_column, _utf8 x'0b', '')
答案 1 :(得分:0)
要回答这个问题,^ K是一个垂直标签,如前所述。 as ^ k == 11th char == b in hexdec
您声明您正在查看文件。
sed -e's / \ x0b / / g'file
应将它们剥离一个空格。
如果要使用SQL,请在where子句上尝试\ x0b。