Oracle数据库拼接字符串

字符串相加是我们工作中常见的操作,那么如何才能将两个字符串或多个字符串拼接·组合为一个字符串呢?
下文将讲述Oracle中字符串的操作方法,如下所示:
实现思路:
方式1:
使用concat连接字符串,其缺点为:只可连接两个字符串
方式2:
使用“||”符合可以连接多个字符串

举例如下:
select concat(‘百度’, ‘www.baidu.com’) from dual;
select ‘baiduName:’||‘百度’||‘url:’||‘www.baidu.com’ from dual;

oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)

(1)oracle中实现截取字符串:substr

substr(string, start_position, [length])

其中,string是元字符串,start_position为开始位置,length是可选项,表示子字符串的位数。

例子:

substr(‘ABCDEFG’, 0); – 返回结果是:ABCDEFG,从0位开始截取后面所有

substr(‘ABCDEFG’, 2); – 返回结果是:CDEFG,从2位开始截取后面所有

substr(‘ABCDEFG’, 0, 3); – 返回结果是:ABC,从0位开始往后截取3个字符长度

substr(‘ABCDEFG’, 0, 100); – 返回结果是:ABCDEFG,虽然100超出了元字符串长度,但是系统会按元字符串最大数量返回,不会影响返回结果

substr(‘ABCDEFG’, -3); – 返回结果是:EFG,如果是负数,则从尾部往前数,截取-3位置往后的所有字符串

(2)查找字符串位置:instr

instr(string, subString, [start_position, [nth_appearance]])

其中,string是元字符串;subString是要查找的子字符串;start_position是要查找的开始位置,为可选项(默认为1),注意在这里字符串索引从1开始,如果此参数为正,则从左到右检索,如果此参数为负,则从右到左检索;nth_appearance是元字符串中第几次出现的子字符串,此参数可选,缺省默认为1,如果是负数则系统报错。

例子:

instr(‘ABCDABCDAEF’, ‘AB’); – 返回结果是:1,因为instr字符串索引从1开始,所以是1不是0

instr(‘ABCDABCDAEF’, ‘DA’, 1, 2); – 返回结果是:8,返回第二次出现’DA’的位置

instr(‘A BCDABCDAEF’, ‘DA’, 1, 2); – 返回结果是:9,由于我在元字符串中加了一个空格,空格仍然算一个字符

(3)替换字符串:replace

replace(str1, str2, str3)

其表示的意思是:在str1中查找str2,凡是出现str2的地方,都替换成str3。

replace(‘ABCDEFG’, ‘CDE’, ‘cde’); – 返回结果是:ABcdeFG

replace(‘ABCDEFG’, ‘CDE’, ‘’); – 返回结果是:ABFG,CDE被替换成空字符

replace(‘ABCDEFG’, ‘CDE’); – 返回结果是:ABFG,当不存在第三个参数时,CDE直接被删掉

Oracle数据库lpad函数实例

pad翻译:填充

lpad函数,在字符串的左侧添加指定字符串,用法:

lpad(String ,截取长度,添加的字符串)。

说是添加字符串也不准确,比较准确的说法是对String进行截取字符串,如果截取长度大于String的长度,则在

String的左侧添加字符串进行填补,如果第三个参数未指定,则用空格进行填补。

例子:

select length('abc'),lpad('abc',4,'$'),lpad('abc',5,'^'),lpad('abc',5,'gf'),lpad('abc',6,'gf') from dual;


Rpad函数从右边对字符串使用指定的字符进行填充
rpad(string,padded_length,[pad_string])   
string 表示:被填充的字符串   
padded_length 表示:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,rpad函数将会把字符串截取成从左到右的n个字符;   
pad_string 是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。   
例如:   
rpad(‘tech’, 7); 将返回’tech ’   
rpad(‘tech’, 2); 将返回’te’   
rpad(‘tech’, 8, ‘0’); 将返回’tech0000’   
rpad(‘tech on the net’, 15, ‘z’); 将返回 ‘tech on the net’   
rpad(‘tech on the net’, 16, ‘z’); 将返回 ‘tech on the netz’

SQL:

select rpad('aa',5)||decode('bbb',null,' ',rpad('bbb',8,'ww'))||rpad('cccc',12) from dual;

Oracle数据库连接字符串相关推荐

  1. Oracle数据库连接字符串(经典大全)

    ODBC 新版本 Driver={Microsoft ODBC for Oracle};Server=myServerAddress;Uid=myUsername;Pwd=myPassword; 旧版 ...

  2. 数据库连接字符串 mysql_数据库连接字符串(MySQL,SQL Server,Oracle)

    数据库连接字符串(在java中使用) =====MySQL===== String driverClass="com.mysql.jdbc.Driver; String url=" ...

  3. c 连接oracle数据库字符串,C#数据库连接字符串 - 水泛舟的专栏 - CSDN博客

    C#数据库连接字符串 在MSDN中,.net的数据库连接字符串都有详细的说明,我这里以代码范例的方式罗列一些,具体的每一项代表的意义可以参看MSDN. ADO.net 中数据库连接方式(微软提供) 微 ...

  4. C# 数据库连接字符串集合

    c#数据库连接字符串集合 (一)常用连接: 1.使用SqlConnection对象: a. Sql 验证 public void SqlConnectionOpen() { SqlConnection ...

  5. asp.net mysql连接字符串_ASP.NET数据库连接字符串总结

    关于数据库链接字符串的相关知识,我们介绍过很多,建议大家看看这两篇文章,<深入了解SQL Server连接字符串>和<MySql连接字符串的说明>,供参考.下面介绍ASP.NE ...

  6. asp.net mysql连接字符串_【转】ASP.NET数据库连接字符串总结

    来源:http://blog.csdn.net/lutinghuan/article/details/5973897 ASP.NET数据库连接字符串总结 一.使用OleDbConnection对象连接 ...

  7. ABP动态配置数据库连接字符串 Oracle11g数据库

    ABP动态配置数据库连接 Oracle11g数据库 ABP的仓储关于数据库连接字符串的配置是从web.config(app.config)的connectionStrings读取的. 我想实现的功能是 ...

  8. oracle连接耗尽,linux熵池耗尽,导致oracle数据库连接失败

    linux熵池耗尽,导致oracle数据库连接失败 今天接到某业务开发人员的报错信息: 1.png 随后又接到应用运维人员的报错信息: 2.png 连接失败,errorCode 17002, stat ...

  9. vs mysql连接字符串_vs 数据库连接字符串

    VS2010连接SQLSERVER2008数据库的步骤 1.在要连接数据库的类中使用using namespace System::Data::SqlClient; 将类型引入 2.定义一个连接对象, ...

最新文章

  1. 低版本火狐提示HTTPS链接不安全的解决办法
  2. java学习笔记3--类与对象的基础
  3. 深度 | 容器规模化落地企业的最佳途径
  4. PHP通过URL传递session_id
  5. c++的32位和64位类型符的位数
  6. kaldi windows安装_kaldi在Windows下的使用
  7. 法线有接缝_发送带有接缝的活动邀请
  8. bootstrapTable基础操作
  9. spring源码分析第六天------spring经典面试问题
  10. JavaScript中this的指向问题及面试题你掌握了吗?
  11. RVM,RubyGems和Bundler的日常使用
  12. 服务器安装数据库显示启动服务,安装数据库没有启动服务器服务
  13. 递归实现回旋数组的小程序
  14. 简单的@Async使用 自定义连接池
  15. mfc入门基础(三)创建对话框
  16. OSChina 周二乱弹 ——深入浅出微信小程序
  17. 分享几个蛋白质互作网站——String (二)多基因蛋白互作
  18. 第六讲:AD、DA的工作原理及实现(郭天祥)
  19. 图形界面中消息盒子的使用
  20. excel数据分类与自动填充

热门文章

  1. 百度语音转换技术,让失聪人和盲人独立对话成为可能!
  2. 【开发一个高效的西瓜爬虫】
  3. Kotlin 移动端跨平台是种怎样的体验
  4. 人工智能基础-特征分解与奇异值分解的的几何意义
  5. 我们宿舍里那群“禽兽”的极品笑话
  6. 站群分站SEO优化利器-DiYunCMS分站管理插件介绍
  7. vue获取页面dom元素样式的方法
  8. php开发环境之samba服务以及docker容器安装配置
  9. 使用AlexNet网络区分宝可梦和数码宝贝
  10. [Tarjan][并查集][dp] Jzoj P4253 QYQ在艾泽拉斯