Oracle中CONCAT,SUBSTR,REPLACE的实例介绍

本文介绍了在Oracle数据库中如何使用CONCAT()函数和其他方法进行字段拼接,以及如何使用SUBSTR()函数进行字段截取。此外,还展示了REPLACE()函数的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle数据库中常用的几种拼接,截取字段的方法如下:

有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:

  • MySQL: CONCAT()
  • Oracle: CONCAT(), ||
  • SQL Server: +

CONCAT() 的语法如下:

CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。请注意,Oracle的CONCAT()只允许两个参数;换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用'||'来一次串连多个字串。

来看几个例子。假设我们有以下的表格:

Geography 表格

region_namestore_name
EastBoston
EastNew York
WestLos Angeles
WestSan Diego

例子1:

MySQL/Oracle
SELECT CONCAT(region_name,store_name) FROM Geography 
WHERE store_name = 'Boston';

结果

'EastBoston'

例子2:

Oracle
SELECT region_name || ' ' || store_name FROM Geography 
WHERE store_name = 'Boston';

结果

'East Boston'

例子3:

SQL Server
SELECT region_name + ' ' + store_name FROM Geography 
WHERE store_name = 'Boston';

结果

'East Boston'


SUBSTR(str,pos,len)

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:

  • MySQL: SUBSTR(), SUBSTRING()
  • Oracle: SUBSTR()
  • SQL Server: SUBSTRING()

最常用到的方式如下 (在这里我们用SUBSTR()为例):

SUBSTR(str,pos): 由<str>中,选出所有从第<pos>位置开始的字元。请注意,这个语法不适用于SQL Server上。

SUBSTR(str,pos,len): 由<str>中的第<pos>位置开始,选出接下去的<len>个字元。

假设我们有以下的表格:

Geography 表格

region_namestore_name
EastBoston
EastNew York
WestLos Angeles
WestSan Diego

例1:

SELECT SUBSTR(store_name, 3) 
FROM Geography 
WHERE store_name = 'Los Angeles';

结果:

's Angeles'

例2:

SELECT SUBSTR(store_name,2,4) 
FROM Geography 
WHERE store_name = 'San Diego';

结果:

'an D'


REPLACE(char, search_string,replacement_string)


char : 等待替换的字符串

search_string : 搜索需要替换的字符串

replacement_string : 替换字符串

如果replacement_string缺省或者为null,那么所有char中出现的search_string 都将被移除

如果search_string为null,那么结果就是char

eg:

select replace('acdd','cd','ef') from dual; --> 结果 aefd 也就是将cd替换为ef

注:改文章为作者学习汇总!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值