MySQL和Oracle字符串截取函数用法总结(比较)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:https://www.captainai.net/dongkelun
前言
本文总结MySQL和Oracle的字符串截取函数的用法
工作中MySQL和Oracle都用,有时会碰到两种数据库SQL用法的不同,就会上网查一下,但是时间久了,就忘记了,好记性不如烂笔头,所以写个笔记备忘一下~
1、MySql
函数:SUBSTRING 或 SUBSTR
1.1 语法
位置
SUBSTRING(string,position);
SUBSTRING(string FROM position);
位置和长度
SUBSTRING(string,position,length);
SUBSTRING(string FROM position FOR length);
1.2 下标
H | e | l | l | 0 | W | o | r | l | d | ||
---|---|---|---|---|---|---|---|---|---|---|---|
正数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
负数 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
1.3 示例详解
1.3.1 位置
position>0,从position(包含)开始
SELECT SUBSTRING('Hello World',1);
SELECT SUBSTRING('Hello World' FROM 7);
Hello World
World
position=0返回空
SELECT SUBSTRING('Hello World',0);
position<0,与position为正时是一样的,下面的sql的效果是相同的
SELECT SUBSTRING('Hello World',-11);
SELECT SUBSTRING('Hello World' FROM -5);
当position的绝对值>LENGTH(string)时,返回空,和position=0时一样
SELECT SUBSTRING('Hello World',12);
SELECT SUBSTRING('Hello World',-12);
1.3.2 位置和长度
position的用法和上面讲的是一样的,下面仅总结length
length>0时返回length个字符数,当length>string的可截取的长度时,只返回可截取的长度
SELECT SUBSTRING('Hello World',1,5);
SELECT SUBSTRING('Hello World',6,20);
Hello
World
length<=0时返回空
SELECT SUBSTRING('Hello World',1,0);
SELECT SUBSTRING('Hello World',1,-20);
下面等价
SELECT SUBSTRING('Hello World',6,20);
SELECT SUBSTRING('Hello World' FROM 6 FOR 20);
可通过LENGTH查看字符串的长度验证(当length>string的可截取的长度时)
SELECT LENGTH(SUBSTRING('Hello World' FROM 6 FOR 20));
6
2、Oracle
函数:SUBSTR
和MySql不同的是没有SUBSTRING
2.1 语法
位置
SUBSTR(string,position);
SUBSTR(string FROM position);
位置和长度
SUBSTR(string,position,length);
SUBSTR(string FROM position FOR length);
2.2 下标
H | e | l | l | 0 | W | o | r | l | d | ||
---|---|---|---|---|---|---|---|---|---|---|---|
正数 | 0或1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
负数 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
2.3 示例详解
2.3.1 位置
与MySQL一样,position>0和position<0时是一样的效果,参照上面的下标对应即可,不同的是,position=0和position=1的效果是一样的。
下面三个sql效果一样
SELECT SUBSTR('Hello World',0) FROM DUAL;
SELECT SUBSTR('Hello World',1) FROM DUAL;
SELECT SUBSTR('Hello World',-11) FROM DUAL;
Hello World
当position的绝对值>LENGTH(string)时,返回[NULL]
SELECT SUBSTR('Hello World',12) FROM DUAL
SELECT SUBSTR('Hello World',-12) FROM DUAL;
[NULL]
2.3.2 位置和长度
position的用法和上面讲的是一样的,下面仅总结length
length>0时返回length个字符数,当length>string的可截取的长度时,只返回可截取的长度,这点和MySQL相同
SELECT SUBSTR('Hello World',1,5) FROM DUAL;
SELECT SUBSTR('Hello World',6,20) FROM DUAL;
Hello
World
length<=0时返回[NULL],这点和MySQL不同
SELECT SUBSTR('Hello World',1,0) FROM DUAL;
SELECT SUBSTR('Hello World',6,-20) FROM DUAL;
[NULL]
3 比较总结
最后比较一下MySQL和Oracle的不同
- 1、 MySQL函数为SUBSTRING 或 SUBSTR,Oracle只有SUBSTR
- 2、 position=0时MySQL返回空,而Oracle和position=1时一样
- 3、 当position的绝对值>LENGTH(string)时和length<=0时,MySQL返回空,而Oracle返回[NULL]
MySQL和Oracle字符串截取函数用法总结(比较)相关推荐
- ORACLE字符串截取函数trim(),ltrim(),rtrim()
1.TRIM([[LEADING||TRAILING||BOTH] c2 FROM] c1). 看起来很复杂,理解起来很简单: (1)如果没有指定任何参数则oracle去除c1头尾空格 例如:SELE ...
- php截取中文第一个字,php中的一个中文字符串截取函数
PHP代码: -------------------------------------------------------------------------------- /** ***@Auth ...
- php mysql字符串截取比较读取_MySQL_Mysql字符串截取函数SUBSTRING的用法说明,感觉上MySQL的字符串函数截取 - phpStudy...
Mysql字符串截取函数SUBSTRING的用法说明 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取 ...
- mysql截取字符串最后两位_Mysql字符串截取函数SUBSTRING的用法说明
感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:le ...
- mysql截取字符串后缀_Mysql字符串截取函数SUBSTRING的用法说明
今天建视图时,用到了MySQL中的字符串截取,很是方便 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截 ...
- mysql 从第几个字符串开始截取_Mysql字符串截取函数SUBSTRING的用法说明
感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:le ...
- mysql 从后往前截取指定个数字符串_Mysql字符串截取函数SUBSTRING的用法说明
函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...
- mysql substring用法_Mysql字符串截取函数SUBSTRING的用法说明
函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my ...
- mysql截取点前面两位的字符串,Mysql字符串截取函数SUBSTRING的用法说明
搜索热词 感觉上MysqL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str,length) 说 ...
最新文章
- Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)
- 《系统集成项目管理工程师》必背100个知识点-48质量控制的老七工具和新七工具...
- 【UML】如何记忆UML类图的画法
- 2014025630《嵌入式程序设计》第七周学习总结
- gitolite 踩坑记
- IPM: Mass IP generation can only support 99 numbers of IP at maximum
- Liferay7 BPM门户开发之4: Activiti事件处理和监听Event handlers
- 标记 (TAG) 您的 k8s 集群资源
- linux mysql异地备份工具,Linux中MySQL的异地自动备份
- makefile语法_Makefile的语法
- 《虚拟化与云计算》作者介绍
- AUTOCAD——形位公差如何标注、CAD打断于点的操作
- win7系统不能保存文档到服务器,win7 64位系统编辑word文档后无法保存的解决方法...
- 创新工场王嘉平开讲:low-level的计算机视觉
- 程序员的“九阳神功”——设计模式
- 2018年3大UI设计趋势,你知道吗?
- python3爬虫豆瓣前一百_Python爬虫基础4-豆瓣top100
- Spring启动执行流程
- 【排队助手】投屏模式-使用指南
- MnTTS: 开源蒙古语语音合成数据集及其基线模型
热门文章
- hyper-v上安装群晖DSM5提示格式化磁盘失败解决方法
- linux查看cpu实时频率的命令,Linux上如何查看CPU型号及内存频率及其它信息
- 灰度重采样的方法分为_重采样 和 重分类
- 印象笔记Windows版无法同步(亲测有效)
- C语言每日一练——第32天:小球自由下落问题(第10次落地经过多少米,反弹多高?)
- 视频MD5修改工具(短视频去重) 自媒体如何解决视频重复问题头条视频去重 今日头条视频消重去...
- php radius web认证,内置WEB认证配置(radius认证)
- 脚本录制工具__UIRecorder使用说明文档
- OpenCV Tutorial: 縮寫(uchar、ushort、Vec)
- MPI函数说明及示例