oracle 把某字段里面的特定字符,转换为回车换行符,请问怎么弄?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 把某字段里面的特定字符,转换为回车换行符,请问怎么弄?相关的知识,希望对你有一定的参考价值。

例如表 TB中的字段A
A
sss;ddd;ccc
把字段中所有的分号“;”都变为换行符,使得展现数据时的效果如下
sss
ddd
ccc
请高手指教!!

Select replace( 'sss;ddd;ccc', ';', chr(13)) From dual;追问

理论上你说的应该是对的,但不知道为何更新时我的要变成这样才行:
update tb t set t.a=replace(t.a,';',chr(10)||chr(13)||chr(10)||chr(13))
奇怪啊,求解
备注:我的数据在excel中复制,然后通过PL/SQL编辑->粘贴的方式导入数据库的

追答

我试了一次修改语句update tb set a=replace(a,';',chr(13));这样就可以了。

参考技术A declare @s varchar(1000)
set @s='aa;bb;cc'
declare @sql varchar(8000)
set @sql='select col='''+replace(@s,';',''' union all select''')+''''
print (@sql)
exec (@sql)
参考技术B Select replace( 'sss;ddd;ccc', ';', chr(10)) From dual;

mysql查询某数字在某字段以逗号隔开的字符里面

我想查询youruser_id为16的信息,但是数据表里面我之前存储的方式是以逗号隔开了,按道理查询出来的结果只有两条的分别youruser_id是2,16和2,16,166这两条的,请问怎么写mysql查询语句啊?

参考技术A select oligo_id, tag_ids from wjl_oligo where tag_ids REGEXP '(^|,)5($|,)';

2 3,5
3 5,6
5 3,5,7
7 5,15
10 5
13 3,5,6
14 3,5,7,8
参考技术B 用find_in_set函数

select * from 数据表名 where find_in_set('16',youruser_id);
参考技术C select * from xxx表 where find_in_set('16',youruser_id);
find_in_set返回的是前字符在后字符里的位置
参考技术D 查询2 是否是2,3,4 里面,,数据库存储为 ,2,3,4,
用like查询,where里条件 "%,"(拼接要查询的值)",%"
学开发时间较短,临时想的一个办法。
第5个回答  2014-10-26 教你个猥琐的办法
插入数据的时候,不管是一个还是多个,最后都加个逗号
这样就不会有问题了
查询寻的时候,查2,

以上是关于oracle 把某字段里面的特定字符,转换为回车换行符,请问怎么弄?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle中,特殊字符(如回车换行等)的拼接

oracle数据库去除换行、空格、回车字符

js 对象里 增加删除一项字段 (把某对象里的数组转换为字符串,重组为新对象)

mysql查询某数字在某字段以逗号隔开的字符里面

oracle中出现了换行怎么办

oracle数据换行操作