写在分割线之前,个人以为,数据库应该具备简单的的数据加工能力。如同食品在吃之前,是要经过很多到工序的,有经过初加工、粗加工、精加工、深加工等。那么mysql也应该并必须担任起数据初加工以及粗加工的责任。不能让所有数据处理的工作都交给PHP去做。这样不仅使程序冗余而且效率底下。

可能有的朋友会担心mysql的性能不行,数据处理的任务分隔到mysql上会使mysql的压力增大。私以为这是不足担心的,mysql虽然性能不高,但足以支持中小规模的公司使用。


1、char_length(str);

2、concat(),当拼接的值之间有一个为空,拼接的所有值也为空。

3、concat_ws('连接字符',字段1,字段2,字段n);

这个函数,我自己的使用频率是非常高的,替我轻松的解决了很多问题,省略了很多foreach的语句。

4、repeat  这个函数相当于PHP里面的str_repeat函数。

5、locate函数。找到某个字符在另一个字符串中的位置。相当与PHP中的strpos  。

这个函数用处也不少。知道了某个字符的位置后,就可以直接在程序中使用分隔字符串,只输出自己想要的内容。省了使用explode函数了。

7、find_in_set('str','strlist').其中str是一个字符串,strlist是一个字符串列表,中间用逗号分隔开。

8、trim

trim 在php中用到的比较多,几乎很少在mysql中用到。但是有的时候,如果可以使用mysql的函数,能够极大的提高工作效率。

create table test_trim(
id int primary key auto_increment,
test varchar(255) not null
)engine=innodb default charset=utf8; insert into test_trim(id,test)values(null,' liangzi'),
(null,'rover '),(null,'_liangzi'),(null,'rover_'),
(null,'_both_');

如果我们想要祛除字符左边的空格。(如id=1)。可以进行如下操作。

select ltrim(test) new from test_trim where id =1;

可能结果会看起来不明显,用这两个语句对比看起来会比较明显.

select length(test) new from test_trim where id = 1;
select length(ltrim(test)) new from test_trim where id = 1;

如果想要祛除右边字符的空格,(id=2).和祛除左边的空格一样,用rtrim 就行了。

如果我想祛除id=3左边的下划线,想要祛除id=4右边的下划线怎么办。可以指定两个关键字来进行祛除字符或者字符串。

leading  在前的。

trailing  拖尾的,后面的。

both     两端的。

具体用法如下。

祛除左边的字符或字符串。

select trim(leading '_' from test) new from test_trim where id = 3;

祛除右边的字符或字符串。

select trim(trailing '_' from test) new from test_trim where id =4;

祛除两端的字符或者字符串

select trim(both '_'from test) new from test_trim where id = 5;

9、 group_concat 函数也非常有用,使用大为有益,可以在php端省却大量遍历代码

有一个表数据如下,想用一条sql将表中所有的id都用逗号拼接起来。

mysql中常用的字符串函数的更多相关文章

  1. MYSQL 中常用日期时间函数使用

    MySQL Date 函数 下面的表格列出了 MySQL 中最重要的内建日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 ...

  2. GROUP BY和HAVING 以及mysql中常用的日期函数

    一.mysql中的GROUP BY和HAVINGGROUP BY常见的是和聚合函数(SUM,MIN,MAX,COUNT)搭配使用. 比如:SELECT category,SUM(money) AS ` ...

  3. PHP中常用的字符串函数?

    1.strlen() 2.strpos() 3.mb_strlen()

  4. mysql中的去除空格函数

    (1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 案例:update `ne ...

  5. Mysql中常用的函数汇总

    Mysql中常用的函数汇总: 一.数学函数abs(x) 返回x的绝对值bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)ceiling(x) 返回大于x的最小整数值exp(x) 返回 ...

  6. PHP中常用的字符串格式化函数总结

    注意:在PHP中提供的字符串函数处理的字符串,大部分都不是在原字符串上修改,而是返回一个格式化后的新字符串. 一.取出空格和字符串填补函数 空格也是一个有效的字符,在字符串中也会占据一个位置.用户在表 ...

  7. LoadRunner中常用的字符串操作函数

    LoadRunner中常用的字符串操作函数有:                strcpy(destination_string, source_string);               strc ...

  8. Js中常用的字符串,数组,函数扩展

    由于最近辞职在家,自己的时间相对多一点.所以就根据prototytpeJS的API,结合自己正在看的司徒大神的<javascript框架设计>,整理了下Js中常用一些字符串,数组,函数扩展 ...

  9. mysql 中时间和日期函数应用

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...

随机推荐

  1. jquery 选择器大全

    jquery 选择器大体上可分为4 类: 1.基本选择器 2.层次选择器 3.过滤选择器 4.表单选择器 其中过滤选择器可以分为: 1.简单过滤选择器 2.内容过滤选择器 3.可见性过滤选择器 4.属 ...

  2. 移动OA,致我们终将逝去的青春(程序员版)[转]

    移动OA和致青春有什么关系,难道说赵薇也来做手机应用了?为什么不行,当年小燕子代言的打印机可是红火的很,现在再秀一把时尚手机办公也未必不可啊.言归正转,本文还是以点代面阐述移动OA开发过程,但是,它的 ...

  3. Predicting purchase behavior from social media-www2013

    1.Information publication:www2013 author:Yongzheng Zhang 2.What 用社交媒体用户特征 预测用户购买商品类别(排序问题) 3.Dataset ...

  4. 【Python】[函数式编程]高阶函数,返回函数,装饰器,偏函数

    函数式编程高阶函数 就是把函数作为参数的函数,这种抽象的编程方式就是函数式编程.--- - -跳过,不是很理解,汗 - ---

  5. Keepalived+Redis高可用部署(第二版)

    更新 20150625 脚本由5个减少为4个,sh脚本指令做了精简. 修改了另外3个脚本,在日志里增加了日期显示. 新增redis数据类型,持久化,主从同步简介. 新增hiredis简介. 新增c语言 ...

  6. Android下的数据储存方式(三)

      Android下最好的数据储存方式:关系型数据库sqlite.   数据库的创建:使用SqliteOpenHelper类 结合SqliteOpenHelper类和SQLiteDatabase类的帮 ...

  7. ubuntu搭建java开发环境

    最近因为要编译Android源码,但是报错因为Java版本低于1.7.x而不能进行编译,于是进行Java版本更改. 安装前软件环境: Ubuntu14.02,Java 1.6.0_29 目标软件环境: ...

  8. mysql case when then end学习

    表 vtiger_acctive,字段 id,name. 1. 查询中使用 # 查询如果name的值为 hello1 时输出 6666,当值为 hello2 时,输出 333333 select ca ...

  9. android -- 之PopupWindow的使用

    LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); View contentVi ...

  10. 取消GridView/ListView item被点击时的效果 记录学习

    方法一,在控件被初始化的时候设置 gridView.setSelector(new ColorDrawable(Color.TRANSPARENT)); listView.setSelector(ne ...