重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我试了,导出的数据本来是有换行符号的,但是是linux格式的换行符。
十年的城区网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整城区建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“城区网站设计”,“城区网站推广”以来,每个客户项目都认真落实执行。
用记事本打开是没法看到换行符,所以内容都连成了一行。
所以你可以有两个办法:
1.用editplus打开文件去查看。
2.用查询拼个可视分隔符在后面:
select CONCAT(name, '|') from table into outfile '/test.txt';
还是推荐你用editplus等这些比较专业的编辑器,windows自带的那个记事本除了换行有问题,要是遇上utf8编码的文件也会显示乱码,最好不要用它做数据处理。
逗号是普通符号,和数字、字母一样,可以直接作为一般字符添加到字符、文本类型的字段里面。
如果你是表名、字段名,最好建议别用逗号,偏要使用可以用``括起来。
如果以上回答无法解决你的问题,请粘贴你的语句,大家给你修改正确。
UPDATE tbl SET catid = CONCAT(',',catid,',');
不知道你为什麼要这样改,是为了导出数据?
另外你要确定栏位的类型
mysql手册中如是说:
IF(expr1,expr2,expr3)
如果 expr1 为真(expr1 0 以及 expr1 NULL),那么 IF() 返回 expr2,否则返回 expr3。IF() 返回一个数字或字符串,这取决于它被使用的语境:
mysql SELECT IF(12,2,3);
- 3
mysql SELECT IF(12,'yes','no');
- 'yes'
mysql SELECT IF(STRCMP('test','test1'),'no','yes');
- 'no'
如果 expr2 或 expr3 明确地为 NULL,那么函数 IF() 的返回值类型为非 NULL 列的类型。(这在选择在 MySQL 4.0.3 中新加入)。 expr1 是作为一个整数值被计算的,这就意味着,如果测试的是一个浮点型或字符串值,就必须进行比较操作:
mysql SELECT IF(0.1,1,0);
- 0
mysql SELECT IF(0.10,1,0);
- 1
在上面第一种情况下,IF(0.1) 返回 0,是因为 0.1 被转换为一个整数值,返回 IF(0) 的测试结果。这可能不是你所期望的。在第二种情况下,比较测试原浮点数是否为一个非零值。比较的结果被作为整数使用。 缺省的 IF() 返回值类型 (当结果存储在临时表中时,这是非常重要的) 在 MySQL 3.23 中按下列方式确定: 表达式 返回值
表达式(expr2)或表达式(expr3)返回值为字符串 字符串
表达式(expr2)或表达式(expr3)返回值为浮点型值 浮点型
表达式(expr2)或表达式(expr3)返回值为整型 整型
如果表达式(expr2)和表达式(expr3)均是字符串,同时两个字符串均是忽略字母大小写的,那么返回值也是忽略字母大小写的(从 MySQL 3.23.51 开始)。
查询结果用引号逗号分隔。
这是使用MySQL以逗号分隔的列中包含引号的查询-mysqlselectconcat("'",replace(Name,",","','"),"'")ASIncludingQuotesfromDemoTable1407。
mysql查询含逗号的数据,将逗号拆分为多行展示:
原始数据如下:
现在因为新的需求,需要将这些数据转化为如下形式:
假设我们需要处理的表结构为:
使用如下sql语句即可实现需求:
查询的主要思路为,原表与一个包含连续自增长字段的表进行join,得到字符串分隔后的索引值,其中 length( a.name ) - length( REPLACE ( a.name, ',', '' ) ) + 1 语句获得字符串逗号分隔之后得到的数据长度,两表关联之后,会得到相应行数的数据。比如,
在join之后会得到:
之后对查询中的结果,使用substring_index方法进行截取,然后得到我们自己想要的数据。