MySQL截取和拆分字符串函数用法示例
本文实例讲述了MySQL截取和拆分字符串函数用法。分享给大家供大家参考,具体如下:
首先说截取字符串函数:
SUBSTRING(commentid,9)
这个很简单,从第9个字符开始截取到最后。SUBSTRING的参数有三个,最后一个是截取的长度,默认是到结尾,负数是倒数第几位。
接着说拆分字符串函数:
SUBSTRING_INDEX(commentid, '-', 1)
这个就稍稍复杂一些了,他的意思是以 - 进行拆分字符串,从第一个关键词开始取前面所有的字符串。如果上面的第三个参数修改为 -1,那么就是取倒数第一个。如果我们想从字符串 c-11065-50 中,取出50或者11065如何写呢?
取得50的写法:
SELECT SUBSTRING_INDEX(checkid,'-',-1) FROM `check` WHERE checkid = 'c-11065-50'
取得11065的写法:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(checkid,'-',-2),'-',1) FROM check WHERE checkid = 'c-11065-50'
或者:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(checkid,'-',2),'-',-1) FROM check WHERE checkid = 'c-11065-50'
看上去比较复杂了吧,那么再来点更复杂的:
这下面就是组合用法了,例如我们要截取:content_13-11220-1中的13,最简单的就是:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(SUBSTRING(commentid,9), '-', 1), '-',-1) FROM check WHERE commentid = 'content_13-11220-1'
我们发现这里需要调用三次函数,有没有可以调用两次的呢。于是我们可以这样写:
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(commentid, '-', 1), '_',-1) FROM check WHERE commentid = 'content_13-11220-1'
这样就可以少执行一次函数了,当我们运行的数据足够多,那么速度也就显示的很明显了。
MySQL更多函数可参考MySQL函数大全:http://www.jb51.net/article/42906.htm
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
相关推荐
-
mysql int(3)与int(11)的区别详解
mysql int(3)与int(11)的区别 总结,int(M) zerofill,加上zerofill后M才表现出有点点效果,比如 int(3) zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加zerofill,则它们没有什么区别.M不是用来限制int个数的.int(M)的最大值和最小值与undesigned有关,最下面那副图有说明. mysql> create table t (t int(3) zerofil
-
mysql 存储过程详解
MySQL存储过程 14.1.1 创建存储过程 MySQL中,创建存储过程的基本形式如下: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body 其中,sp_name参数是存储过程的名称:proc_parameter表示存储过程的参数列表: characteristic参数指定存储过程的特性:routine_body参数是SQL代码的内容,可以用BEGIN-END来
-
MySQL中的alter table命令的基本使用方法及提速优化
一.基本用法 1. 增加列 alter table tbl_name add col_name type 例如, 给pet的表增加一列 weight, mysql>alter table pet add weight int; 2. 删除列 alter table tbl_name drop col_name 例如, 删除pet表中的weight这一列 mysql>alter table pet drop weight; 3. 改变列 分为改变列的属性和改变列的名字 改变列的属性--方法1:
-
MySQL学习笔记5:修改表(alter table)
我们在创建表的过程中难免会考虑不周,因此后期会修改表修改表需要用到alter table语句 修改表名 复制代码 代码如下: mysql> alter table student rename person; Query OK, 0 rows affected (0.03 sec) 这里的student是原名,person是修改过后的名字 用rename来重命名,也可以使用rename to 修改字段的数据类型 复制代码 代码如下: mysql> alter table person modi
-
mysql alter table命令修改表结构实例
mysql实例之使用alter table命令修改表结构 mysql alter table语句可以修改表的基本结构,例如添加字段.删除字段.添加主键.添加索引.修改字段数据类型.对表重命名等等操作,本文章通过两个简单的实例向大家介绍mysql alter table的使用方法 实例一:使用ALTER TABLE命令向表中添加字段.修改字段类型以及设置主键. 首先创建一个表,SQL语句如下: mysql> CREATE TABLE myTable( -> ID SMALLINT ->
-
mysql alter table命令修改表结构实例详解
mysql alter table语句可以修改表的基本结构,例如添加字段.删除字段.添加主键.添加索引.修改字段数据类型.对表重命名等等操作,本文章通过两个简单的实例向大家介绍mysql alter table的使用方法. 实例一:使用ALTER TABLE命令向表中添加字段.修改字段类型以及设置主键. 首先创建一个表,SQL语句如下: mysql> CREATE TABLE myTable( -> ID SMALLINT -> ); 使用desc命令查看表结构: mysql>
-
JDBC 连接MySQL实例详解
JDBC连接MySQL JDBC连接MySQL 加载及注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver").newInstance(); JDBC URL 定义驱动程序与数据源之间的连接 标准语法: <protocol(主要通讯协议)>:<subprotocol(次要通讯协议,即驱动程序名称)>:<data so
-
mysql alter table修改表命令整理
MYSQL ALTER TABLE命令用于修改表结构,例如添加/修改/删除字段.索引.主键等等,本文章通过实例向大家介绍MYSQL ALTER TABLE语句的使用方法, MySQL ALTER语法如下: ALTER [IGNORE] TABLE tbl_name alter_spec [, alter_spec ...] alter_specification: ADD [COLUMN] create_definition [FIRST | AFTER column_name ] or ADD
-
简单谈谈MySQL中的int(m)
我们在设计表的时候,如果碰到需要设置int(整型)的时候,通常会按照惯例(大家都这样写)设置成int(11).那么这里为什么是11呢?代表的又是什么呢? 以前我一直以为这里是在限制int显示的宽度,后来仔细研究和通过上网查询发现,事实并不是那样的. 确切的来说,这里的"宽度"只是一个"预期值",它所代表的仅仅是你在设计数据表结构时,想让该列日后显示的值宽度为多少,但是具体存入值的宽度多少不会受任何影响. 当然,它的作用不仅如此,在存入数据的时候,还是有一定区别的,这
-
MySQL截取和拆分字符串函数用法示例
本文实例讲述了MySQL截取和拆分字符串函数用法.分享给大家供大家参考,具体如下: 首先说截取字符串函数: SUBSTRING(commentid,9) 这个很简单,从第9个字符开始截取到最后.SUBSTRING的参数有三个,最后一个是截取的长度,默认是到结尾,负数是倒数第几位. 接着说拆分字符串函数: SUBSTRING_INDEX(commentid, '-', 1) 这个就稍稍复杂一些了,他的意思是以 - 进行拆分字符串,从第一个关键词开始取前面所有的字符串.如果上面的第三个参数修改为 -
-
Go语言截取字符串函数用法
本文实例讲述了Go语言截取字符串函数用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: func Substr(str string, start, length int) string { rs := []rune(str) rl := len(rs) end := 0 if start < 0 { start = rl - 1 + start } end = start + length
-
PHP常见数学函数及BC高精度数学函数用法示例
本文实例讲述了PHP常见数学函数及BC高精度数学函数用法.分享给大家供大家参考,具体如下: 1. bcadd 任意精度数的相加 2. bcsub 任意精度数的减法 3. bcmul 乘法, bcdiv除法 4. bcmod 取余数. (比%功能更强大) 5. bcpow 幂函数运算 6. bcsqrt 平方根 7. sqrt 平方根运算 7. pow求幂 8. abs 求绝对值 9. pi 得到圆周率数值 三角函数 sin cos tan asin acos atan(用弧度表达) deg2ra
-
PHP常用字符串函数用法实例总结
本文实例总结了PHP常用字符串函数用法.分享给大家供大家参考,具体如下: 字符串函数 explore 使用一个字符串分割另一个字符串 结果为数组 <?php $str = 'a,b,c,d'; $res = explode(',',$str); var_dump($res); implode(join) 将一个一维数组的值转化为字符串 <?php $arr = ['a'=>1,'b'=>2]; $res = implode(',',$arr); var_dump($res); ht
-
MySQL 十大常用字符串函数详解
大家好!我是只谈技术不剪发的 Tony 老师. 数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值.MySQL 为我们提供了许多用于处理和分析数据的系统函数,本文给大家介绍 10 个常用的字符串函数,以及相关的其他函数. CONCAT() CONCAT(str1,str2,-))函数用于返回多个字符串连接之后的字符串,例如: SELECT CONCAT('MySQL', '字符串', '函数') AS str; str | --------------+ MySQL
-
pytorch中Parameter函数用法示例
目录 用法介绍 代码介绍 用法介绍 pytorch中的Parameter函数可以对某个张量进行参数化.它可以将不可训练的张量转化为可训练的参数类型,同时将转化后的张量绑定到模型可训练参数的列表中,当更新模型的参数时一并将其更新. torch.nn.parameter.Parameter data (Tensor):表示需要参数化的张量 requires_grad (bool, optional):表示是否该张量是否需要梯度,默认值为True 代码介绍 pytorch中的Parameter函数具
-
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
本文实例分析了PHP常见字符串处理函数用法.分享给大家供大家参考,具体如下: <?php $s = "hello world"; //整理 echo 'trim(); ltrim(); rtrim()'; echo '<br />'; echo '长度为: '.strlen($s); echo '<br />'; //大小写 echo '首字母大写: '.Ucfirst($s); echo '<br />'; echo '每个单词首字母大写:
-
php指定长度分割字符串str_split函数用法示例
本文实例讲述了php指定长度分割字符串str_split函数用法.分享给大家供大家参考,具体如下: 示例1: $str = 'abcdefgh'; $arr = str_split($str,2); 运行结果如下: array(4) { [0]=> string(2) "ab" [1]=> string(2) "cd" [2]=> string(2) "ef" [3]=> string(2) "gh"
-
Yii全局函数用法示例
本文实例讲述了Yii全局函数用法.分享给大家供大家参考,具体如下: 由于YII致力于完美的整合第三方库,它并没有定义任何全局函数.yii中的每一个应用都需要全类别和对象范围. 例如,Yii::app()->user;Yii::app()->params['name'];等等.我们可以自行设定全局函数,使得代码看起来更加简洁易用. 我们可以保存在globals.php在protected/config目录下.然后,在入口脚本index.php中,定义如下内容: $globals=dirname(
-
smarty自定义函数用法示例
本文实例讲述了smarty自定义函数用法.分享给大家供大家参考,具体如下: <?php require_once "smarty.config.php"; //自定义一个函数 //调用方法:<{test1 times="4" size="5" con="Hello,Liuyibao!" color="red"}> function test1($args){ $str="&quo
随机推荐
- 详解Swift中的下标访问用法
- 网页自动刷新,不产生嗒嗒声的一个解决方法
- PHP数组函数array_multisort()用法实例分析
- C#使用Parallel类进行多线程编程实例
- 节序问题:解析大小的端判定
- 如何用C语言去除字符串两边的空字符
- Android自定义Style实现方法
- mysql "too many connections" 错误 之 mysql解决方法
- 用vbs脚本来关闭 HTML 页面的代码
- VBS教程:VBScript 与窗体
- jQuery实现给input绑定回车事件的方法
- jWiard 基于JQuery的强大的向导控件介绍
- 使用jquery局部刷新(jquery.load)从数据库取出数据
- Android天气预报之基于HttpGet对象解析天气数据的方法
- react-router实现跳转传值的方法示例
- JS库之wow.js使用方法
- JS异常处理try..catch语句的作用和实例
- php实现源代码加密的方法
- Unbuntu16.04安装搜狗拼音输入法的图文教程
- 如何让微信小程序页面之间的通信不再变困难