Oracle的字符串函数

news2024/12/23 17:12:14

Oracle Ascii()函数

在Oracle中,Ascii()函数可以返回代表指定字符的数字值代码,那么Ascii()函数具体该如何实用呢?

Ascii()函数语法

ASCII( single_character )

参数

single_character:指定的字符来检索NUMBER代码。 如果输入多个字符,则ASCII函数将返回第一个字符的值,并忽略第一个字符后的所有字符。

返回值
ASCII函数返回一个数值。

适用于
ASCII函数可用于以下版本的Oracle:

Oracle 12c、Oracle 11g、Oracle 10g、Oracle 9i、Oracle 8i

Ascii()函数示例
下面是一些Oracle ASCII函数的使用示例:

ASCII('t')
Result: 116

ASCII('T')
Result: 84

ASCII('T2')
Result: 84

Oracle Asciistr()函数

在Oracle中,Asciistr()函数可以使用数据库字符集将任何字符集中的字符串转换为ASCII字符串。

Asciistr()函数语法

ASCIISTR( string )

参数

string:任何字符集中的字符串,希望将其转换为数据库字符集中的ASCII字符串。

返回值
返回一个字符串值。

适用于
ASCIISTR()函数可用于以下版本的Oracle :

Oracle 12c、Oracle 11g、Oracle 10g、Oracle 9i

示例
下面是一些Oracle ASCIISTR()函数的使用示例:

ASCIISTR('A B C Ä Ê')
Result: 'A B C 0C4 0CA'

ASCIISTR('A B C Õ Ø')
Result: 'A B C 0D5 0D8'

ASCIISTR('A B C Ä Ê Í Õ Ø')
Result: 'A B C 0C4 0CA 0CD 0D5 0D8'

Oracle Chr()函数

Oracle Chr()函数可以根据数字代码返回字符,其功能和ASCII函数相反。

Chr()函数语法

CHR( number_code )

参数
number_code:用于检索对应字符的NUMBER代码。

返回值
返回一个字符串值。

适用于
CHR()函数可用于以下版本的Oracle:

Oracle 12c、Oracle 11g、Oracle 10g、Oracle 9i

示例
下面是Oracle CHR()函数的使用示例:

CHR(116)
Result: 't'

CHR(84)
Result: 'T'

Oracle Compose()函数

在Oracle中,使用Compose()函数可以返回一个Unicode字符串。
Compose()函数语法

COMPOSE( string )

string:用于创建Unicode字符串的输入值。 它可以是char,varchar2,nchar,nvarchar2,clob或nclob。

返回值
返回一个字符串值。

以下是可以在Compose()函数中的其他字符组合使用的unistring值的列表:

在这里插入图片描述

Compose()函数可用于以下版本的Oracle :

Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i

示例
下面是Oracle Compose()函数的使用示例:

COMPOSE('o' || unistr('\0308') )
Result: ö

COMPOSE('a' || unistr('\0302') )
Result: â

COMPOSE('e' || unistr('\0301') )
Result: é

Oracle Concat()函数

CONCAT()函数语法

CONCAT( string1, string2 )
string1:第一个要连接的字符串。

string2:第二个要连接的字符串。

返回值
CONCAT函数返回string1连接string2后的一个字符串值。

适用版本
CONCAT()函数可用于以下版本的Oracle:

Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i

示例
下面是Oracle CONCAT()函数的使用示例:

CONCAT('Oraok', '.com')
-- Result: 'Oraok.com'

CONCAT('a', 'b')
-- Result: 'ab'

需要注意:

在Oracle中,CONCAT函数将只允许您将两个值连接在一起。如果需要连接多个值,那么我们可以嵌套多个CONCAT函数调用。

示例:

SELECT CONCAT(CONCAT('A', 'B'),'C')
FROM dual;
-- Result: 'ABC'

以上这个例子将3个值连接在一起并返回’ABC’字符串值。

SELECT CONCAT(CONCAT(CONCAT('A', 'B'),'C'),'D')
FROM dual;
- Result: 'ABCD'

这个例子将连接4个值并返回’ABCD’。

连接单引号
由于CONCAT函数中的参数由单引号分隔,因此如何在CONCAT函数的结果中添加单引号字符并不简单。

我们来看一个相当简单的例子,它展示了如何使用CONCAT函数向结果字符串添加单引号。

SELECT CONCAT('Let''s', ' learn Oracle')
FROM dual;
-- Result: Let's learn Oracle
由于参数包含在单引号中,因此在引号内使用2个额外的单引号来表示生成的连接字符串中的单引号。

Oracle || 连接运算符

在 Oracle中,|| 运算符可以将两个或两个以上的字符串连接在一起。

|| 运算符语法

string1 || string2 [ || string_n ]

string1: 第一个要连接的字符串。
string2:第二个要连接的字符串。
string_n:可选项,第 n 个要连接的字符串。

返回值

返回连接后的一个字符串值。

适用版本
|| 运算符可用于以下版本的 Oracle:

Oracle 12c、 Oracle 11g、 Oracle 10g、Oracle 9i

示例
下面是 Oracle || 运算符的使用示例:

'oraok' || '.com'

'a' || 'b' || 'c' || 'd'

结果为:

'oraok.com'

'abcd'

案例:

select '姓名:' || c.stuname || ', 课程:' || b.coursename || ', 成绩:' || a.score || '分数' as sxcj
  from score a, course b, stuinfo c
 where a.courseid = b.courseid
   and a.stuid = c.stuid

连接空格字符
将值连接在一起时,可能需要添加空格字符来分隔连接的值。 否则,可能会得到一个串联值一起运行的长字符串。 这使得阅读结果非常困难。

下面来看一个简单的例子。可以使用||运算符连接空格字符。

SELECT 'Dave' || ' ' || 'Anderson'
FROM dual;
-- Result: 'Dave Anderson'

使用了 || 运算符在 Dave 和 Anderson 字符串值之间添加空格字符,最后可以得到以下结果:

'Dave Anderson'

|| 运算符将多个字段连接在一起时,连接空格字符。

例如:

SELECT first_name || ' ' || last_name AS customer_name
FROM customers;

此示例查询将返回结果集,其中一列由 customers 表中的 first_name 和 last_name 字段(用空格分隔)组成。 结果集中的列将被别名为 customer_name。

连接单引号
|| 运算符将连接包含在单引号中的字符串值,但并不直接说明如何在连接字符串的结果中添加单引号字符。

我们来看一个相当简单的例子,它显示了如何使用||运算符向结果字符串添加单引号。

例如:

SELECT 'Let''s' || ' learn Oracle'
FROM dual;

结果为

'Let's learn Oracle'

由于字符串值用单引号引起来,因此引号内使用2个额外的单引号来表示生成的连接字符串中的单引号。

如果想从其他字符串值中分出单引号,则还可以按如下方式重写此查询:

SELECT 'Let' || '''' || 's' || ' learn Oracle'
FROM dual;

结果为

 'Let's learn Oracle'

Oracle Convert()函数

在 Oracle 中,Convert() 函数可以将字符串从一个字符集转换为另一个字符集

句法

Description of convert.gif follows

Convert() 函数语法

CONVERT( string1, char_set_to [, char_set_from] )

string1:要转换的字符串。

char_set_to:要转换为的字符集。

char_set_from:可选的,要从中转换的字符集。

返回值
CONVERT 函数返回特定字符集中的字符串值。 可用的字符集是:

在这里插入图片描述

适用版本
Convert() 函数可用于以下版本的 Oracle:

Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i

示例
下面是 Oracle CONVERT() 函数的使用示例:

SELECT CONVERT('Ä Ê Í Õ Ø A B C D E ', 'US7ASCII', 'WE8ISO8859P1') 
   FROM DUAL; 

CONVERT(‘ÄÊÍÕØABCDE’

A E I ? ? A B C D E ?
您可以查询v $ NLS _有效值视图获取有效字符集的列表,如下所示:

SELECT * FROM V$NLS_VALID_VALUES WHERE parameter = 'CHARACTERSET'

Oracle Dump()函数

在Oracle中,使用Dump()函数可以返回一个varchar2值,这个值包含了数据类型代码、字节长度和表达式的内部表示形式。

Dump()函数语法

DUMP( expression [, return_format] [, start_position] [, length] )

expression:要分析的表达式。

return_format:决定了返回值的格式,该参数可以是以下任何值:

● 8 :八进制符号

 ● 10 :十进制符号

 ● 16 :十六进制符号

 ● 17 :单个字符

 ● 1008 :带字符集名称的八进制符号

 ● 1010 :带字符集名称的十进制符号

 ● 1016 :带字符集名称的十六进制符号

 ● 1017 :带字符集名称的单个字符

start_position :可选的,要返回的内部表示的起始位置。

length :可选的,要返回的内部表示的长度。

返回值

返回一个VARCHAR2值。如果省略了return_format,start_position和length参数,则DUMP函数将以十进制表示形式返回整个内部表示形式。

适用版本
Convert()函数可用于以下版本的Oracle :

Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i

示例

下面是一些Oracle Dump()函数的使用示例:

DUMP('Tech')
-- Result: 'Typ=96 Len=4: 84,101,99,104'

DUMP('Tech', 10)
-- Result: 'Typ=96 Len=4: 84,101,99,104'

DUMP('Tech', 16)
-- Result: 'Typ=96 Len=4: 54,65,63,68'

DUMP('Tech', 1016)
-- Result: 'Typ=96 Len=4 CharacterSet=US7ASCII: 54,65,63,68'

DUMP('Tech', 1017)
-- Result: 'Typ=96 Len=4 CharacterSet=US7ASCII: T,e,c,h'

Oracle Initcap()函数

在Oracle中,Initcap()函数可以将每个单词中的第一个字符设置为大写,其余的设置为小写。
Initcap()函数语法

INITCAP( string1 )

string1 :字符串参数,其中每个单词中的第一个字符将转换为大写字母,其余所有字符转换为小写字母。

返回值
返回一个字符串值。

适用版本
Initcap()函数可用于以下版本的Oracle :

Oracle 12c、 Oracle 11g、 Oracle 10g、 Oracle 9i

示例
下面是一些Oracle Initcap()函数使用示例:

INITCAP('tech on the oraok');
-- Result: 'Tech On The Oraok'

INITCAP('GEORGE BURNS');
-- Result: 'George Burns'

Oracle 运算符

Oracle 算术运算符包括+、-、*、/四个,其中/获得的结果是浮点数。

案例1、求2018年上学期数学的平均成绩。

select a.*, b.coursename, c.stuname
  from score a, course b, stuinfo c
 where a.courseid = b.courseid
   and a.stuid = c.stuid;
 
select b.coursename, sum(a.score) / count(1)
  from score a, course b
 where a.courseid = b.courseid
   and a.courseid = 'R20180101'
 group by b.coursename;

Oracle关系运算符

Oracle 关系运算符在 where 条件语句当中经常使用到,常用的关系如下:

在这里插入图片描述

Oracle逻辑运算符

Oracle 的逻辑运算符有三个:AND、OR、NOT。

案例2、查看2018年上学期数学成绩在85-95分之间的同学:

select a.*,b.coursename,c.stuname
    from score a,course b,stuinfo c
where a.courseid=b.courseid
    and a.stuid=c.stuid and a.score>='85'and a.score<='95'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2239129.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cesium 3DTiles之pnts格式详解

Point Cloud 1 概述 点云&#xff08;Point Cloud&#xff09;瓦片格式用于高效流式传输大规模点云数据&#xff0c;常用于 3D 可视化中。每个点由位置&#xff08;Position&#xff09;和可选的属性定义&#xff0c;这些属性用来描述点的外观&#xff08;如颜色、法线等&…

记录一次非常奇怪的MIME type of “text/html“报错

报错现象 访问指定地址&#xff0c;一直转圈打不开&#xff0c;打开游览器控制台发现有如下报错&#xff1a; Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of “text/html”. Strict MIME type checking i…

git新手使用教程

git新手使用教程 一、安装和初始化配置2、新建仓库3.工作区域和文件状态4.添加和提交文件5 git reset回退版本6 使用git diff查看差异7 使用git rm删除文件8 .gitignore忽略文件9 注册GitHub账号10 SSH配置和克隆仓库11 关联本地仓库和远程仓库12 Gitee的使用 由B站视频教程整理…

《TCP/IP网络编程》学习笔记 | Chapter 10:多进程服务器端

《TCP/IP网络编程》学习笔记 | Chapter 10&#xff1a;多进程服务器端 《TCP/IP网络编程》学习笔记 | Chapter 10&#xff1a;多进程服务器端进程概念及应用并发服务端的实现方法理解进程进程ID通过调用 fork 函数创建进程 进程和僵尸进程僵尸进程产生僵尸进程的原因销毁僵尸进…

推荐一款DBF文件查看器:DBF Viewer 2000

DBF Viewer 2000是一款强大、简洁且易于使用的 DBF(Clipper、dBase、FoxBase、Foxpro、Visual Foxpro、Visual DBase、VO、DB2K)文件浏览器和编辑器。 软件特点&#xff1a; - 能够快速、有效地浏览和编辑各种类型的 DBF 文件。 - 支持多种文件格式&#xff0c;包括 dBase、V…

基于构件的软件开发、软件维护、区块链技术及湖仓一体架构的应用

目录 试题一 论基于构件的软件开发方法及其应用 试题二 论软件维护方法及其应用 试题三 论区块链技术及应用 试题四 论湖仓一体架构及其应用 相关推荐 试题一 论基于构件的软件开发方法及其应用 基于构件的软件开发(Component-Based Software Development&#xff0c;CBSD…

SCRFD算法解读及环境安装实践

论文地址&#xff1a;https://arxiv.org/abs/2105.04714&#xff0c;accepted by ICLR-2022 工程地址&#xff1a;https://github.com/deepinsight/insightface/tree/master/detection/scrfd 下一篇博客&#xff0c;如何用SCRFD训练自己的数据 文章目录 1、算法解读2、环境安装…

在IntelliJ IDEA中创建带子模块的SpringBoot工程

前言 在项目开发中&#xff0c;一个工程往往有若干子工程或模块&#xff0c;所以主工程一般是一个容器&#xff0c;本文介绍在IntelliJ IDEA中创建带多模块的SpringBoot工程的详细步骤。 1、首先打开IntellJ IDEA&#xff08;以下简称IDEA&#xff09;,创建一个新项目。假定新…

深入剖析输入URL按下回车,浏览器做了什么

DNS 查询 首先,是去寻找页面资源的位置。如果导航到https://example.com, 假设HTML页面被定位到IP地址为93.184.216.34 的服务器。如果以前没有访问过这个网站&#xff0c;就需要进行DNS查询。 浏览器向域名服务器发起DNS查询请求&#xff0c;最终得到一个IP地址。第一次请求…

提升百度排名的有效策略与技巧解析

内容概要 提升百度排名对于网站的成功至关重要。首先&#xff0c;了解百度排名的基本原则&#xff0c;掌握搜索引擎是如何评估网页质量的&#xff0c;是优化过程中不可或缺的一部分。搜索引擎越来越倾向于将用户需求放在首位&#xff0c;因此提供高质量的内容和良好的用户体验…

【GPTs】MJ Prompt Creator:轻松生成创意Midjourney提示词

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 &#x1f4af;GPTs指令&#x1f4af;前言&#x1f4af;MJ Prompt Creator主要功能适用场景优点缺点 &#x1f4af; 小结 &#x1f4af;GPTs指令 中文翻译&#xff1a; 任务说明 您是一款为幻灯片工…

机器人领域顶刊TRO十月最新论文一览,覆盖状态估计、任务分配、人机协作等多个领域

No.1 基于可见性的近似追逃方法 论文标题&#xff1a;Approximate Methods for Visibility-Based Pursuit–Evasion 中文标题&#xff1a;基于可见性的近似追逃方法 作者&#xff1a;Emmanuel Antonio; Israel Becerra; Rafael Murrieta-Cid 本文提出了一种基于采样的动态规…

解决编译 fast-lio-lc 算法时遇到的error方法

1.创建工作空间和下载 fast-lio-lc功能包 mkdir -p fast_lio_lc_ws/src cd fast_lio_lc_ws/src/ catkin_init_workspace git clone https://github.com/yanliang-wang/FAST_LIO_LC.git2.进入工作空间,编译 编译 fast-lio-lc遇到的error: 🕐error: fatal error: opencv/cv…

【Qt】Macbook M1下载安装

文章目录 一、下载Xcode命令行工具二、在Cion中配置编译器三、安装Qt四、配置qmake环境五、创建Qt项目 博主已经下载了Clion&#xff0c;所以本文是将qt配置到Clion上 本博客所写的教程有一定的问题&#xff0c;因为我在官网下载后发现有一些所需的包是没有的&#xff0c;不知道…

Python+Pytest+Allure+Git+Jenkins接口自动化框架

一、接口基础 接口测试是对系统和组件之间的接口进行测试&#xff0c;主要是效验数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及相互逻辑依赖关系。其中接口协议分为HTTP&#xff0c;RPC&#xff0c;Webservice&#xff0c;Dubbo&#xff0c;RESTful等类型。 接口…

Docker:镜像构建 DockerFile

Docker&#xff1a;镜像构建 DockerFile 镜像构建docker build DockerfileFROMCOPYENVWORKDIRADDRUNCMDENTRYPOINTUSERARGVOLUME 镜像构建 在Docker官方提供的镜像中&#xff0c;大部分都是基础镜像&#xff0c;他们只提供某个简单的功能&#xff0c;如果想要一个功能更加丰富…

《JavaEE进阶》----20.<基于Spring图书管理系统①(登录+添加图书)>

PS&#xff1a;关于接口定义 接口定义&#xff0c;通常由服务器提供方来定义。 1.路径&#xff1a;自己定义 2.参数&#xff1a;根据需求考虑&#xff0c;我们这个接口功能完成需要哪些信息。 3.返回结果&#xff1a;考虑我们能为对方提供什么。站在对方角度考虑。 我们使用到的…

【JavaEE】文件io

目录 文件类型 File概述 属性 构造方法 常用方法 Reader Writer InputStream OutputStream 字节流转字符流 通过Scanner读取InputStream 通过PrintWriter转换outputstream 示例 文件类型 从编程的角度看&#xff0c;文件类型主要就是两大类 文本&#xff08;文…

D3入门:概念、主要特点、基本功能、常见应用场景

D3.js&#xff08;Data-Driven Documents&#xff09;是一个JavaScript库&#xff0c;用于基于数据操作文档。它利用了HTML、SVG和CSS等Web标准技术&#xff0c;使得开发者可以创建丰富的交互式图表和数据可视化。D3.js的强大之处在于其灵活的数据绑定机制和对DOM元素的高效操作…

go函数传值是值传递?还是引用传递?slice案例加图解

先说下结论 Go语言中所有的传参都是值传递&#xff08;传值&#xff09;&#xff0c;都是一个副本&#xff0c;一个拷贝。 值语义类型&#xff1a;参数传递的时候&#xff0c;就是值拷贝&#xff0c;这样就在函数中就无法修改原内容数据。 基本类型&#xff1a;byte、int、bool…