字符串存于数据库中

[复制链接]
查看11 | 回复9 | 2006-3-20 10:36:21 | 显示全部楼层 |阅读模式
'0#'||'D'||'L1' 将这个表达式直接保存到数据库中, 怎么处理阿, 如果直接
insert into t( c1) values( '0#'||'D'||'L1') 数据库中实际保存的就是0#DL1, 怎么转移其中的单引号呢?
回复

使用道具 举报

千问 | 2006-3-20 10:36:21 | 显示全部楼层
SQL> SELECT '''0#''||''D''||''L1''' AS STR FROM DUAL;

STR
---------------
'0#'||'D'||'L1'
回复

使用道具 举报

千问 | 2006-3-20 10:36:21 | 显示全部楼层
可能没有说清楚, 我给这个字符串是从别的地方来的,我不可能只直接加上 多个单引号的
回复

使用道具 举报

千问 | 2006-3-20 10:36:21 | 显示全部楼层
用replace 来转换怎么写
回复

使用道具 举报

千问 | 2006-3-20 10:36:21 | 显示全部楼层
应该在传来之前 就先转化好吧
replace只能处理字符串里的 '
'0#'||'D'||'L1'oracle会把 ' 当作关键字了
SQL> with t as (select '0#' col1,'D' col2 ,'L1' col3 from dual)
2SELECT ''''||col1||'''||'''||col2||'''||'''||col3||'''' str from t
3;

STR
---------------
'0#'||'D'||'L1'
回复

使用道具 举报

千问 | 2006-3-20 10:36:21 | 显示全部楼层
其实我现在的数据库中村的是这个值,我需要将这个值取出来,插入到另外一个instance里,这个里面只有一部分是我需要的数据,
所以我希望能够转换,称我需要的字符串插入到数据库中
回复

使用道具 举报

千问 | 2006-3-20 10:36:21 | 显示全部楼层
既然已经存在 数据库里 可以直接 插入 或者更新啊
如果只是取 其中 一部分的 话用 substr 截取 就行了吧
还是 不太明白你的 意思的 呵呵
最好 弄点 测试 数据看下
回复

使用道具 举报

千问 | 2006-3-20 10:36:21 | 显示全部楼层
这样可以的话,我就不用弄出来了。呵呵。
我现在的目的就是要生成脚本,在别的instance, 将developer环境下的我需要的数据setup 到production 环境下
回复

使用道具 举报

千问 | 2006-3-20 10:36:21 | 显示全部楼层
怎么将其中单引号替换成双引号, 然后在这个前后各加一个单引号就可以了,但是怎么把单引号替换程两个单引号呢?
回复

使用道具 举报

千问 | 2006-3-20 10:36:21 | 显示全部楼层
repalce(col,'''','''''');
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行