博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MYSQL常用内置函数详解说明
阅读量:5271 次
发布时间:2019-06-14

本文共 2184 字,大约阅读时间需要 7 分钟。

函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值;在整理数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音作为拼音pinyin字段的值,如:duoyinzi(ā,á,ǎ,à,a),想提取ā作为pinyin的值;数据有好几万条,不想用程序一条条处理,只想用一个sql来实现,后来了解了下MYSQL常用内置函数,是可以做到的;sql:UPDATE ol_zidian set pinyin=LEFT(duoyinzi,LOCATE(duoyinzi,',')); 意思是,让pinyin的值等于douyinzi左边第一次出现,号的位置的值;

以下是常用的MYSQL常用内置函数详解说明,希望大家用帮助

一、数值函数

    abs(x):返回绝对值
    ceil(x):返回大于x的最小整数
    floor(x):返回小于x的最大整数
    mod(x,y):返回x与y的模
    rand():返回0-1之间的随机数   select round(rand()*100);
    round(x,y):返回参数x的y位小数的四舍五入结果
    truncate(x,y):返回数字x截断为y位小数的结果

二、字符串函数

    PHP中用的,MYSQL中大部分都有

    1.concat(s1,s2....sn):把传入的参数连接成一个字符串

    2.insert(str,x,y,insert):从str的x位置开始,替换y长度的字符串为insert
      select insert('abcdefg',2,3,'hello');
    3.lower(str),upper(str):将字符串转换为大写,小写
    4.left(str,x) right(str,x) 返回str左边(右边)x个字符,x为null则返回null
    5.lpad(str,n,pad) rpad(str,n,pad)  用pad对字符串str从最左边(右边)进行填充,直到总长度

达到n 

      select name,lpad(name,10,'#'),rpad(name,10,'(') from cats;
    6.trim(),ltrim(),rtrim()去掉两边,左边,右边空格
      select concat('1',trim('   abc   '),'2'),concat('1',ltrim('   abc   '),'2'),concat

('1',rtrim('   abc   '),'2')\G;  

    7.replace(str,a,b) 在字符串str中用字符串b替换所有的字符串a
    8.strcmp(s1,s2):如果S1比S2小,返回-1;如果S1比S2大则返回1;如果相等则返回0(比较的是

ASC2码)

    9.substring(str,x,y) 返回字符串str中从位置x起,长度为y的子字符串
   

三、日期函数

    用PHP时间戳来完成
    curdate() curtime() now();   select curdate();
        select unix_timestamp(now());
        select from_unixtime(1331110656);
        select week(now()),year(now());
        select hour(curtime()),minute(curtime());
        select monthname(now());
        select date_format(now(),"%Y-%m-%d %H:%i:%s");
四、流程控制语句
    create table salary(id int,salary decimal(9,2));

    if(value,t,f);   select id,salary,if(salary>300,'high','low') from salary;

    ifnull(t,f)    select id,salary,ifnull(salary,0) from salary;
    case when [value1] then [result1]...else[default]end;
         select case when salary<=300 then 'low' else 'high' end from salary; 
五、其它函数(\s可以看到)
    database()  select database();
    version()
    user()
    inet_aton(ip)  将字符串地址转换为网络地址
    password()  对mysql用户加密
    md5() 对用户密码加密
      select * from mysql.user \G;

MySQL中的全文索引类型FULLTEXT的索引。  FULLTEXT 索引仅可用于 MyISAM 表;他们可以从CHAR、VARCHAR或TEXT列中作为CREATE TABLE语句的一部分被创建,或是随后使用ALTER TABLE 或 CREATE INDEX被添加。对于较大的数据集,将你的资料输入一个没有FULLTEXT索引的表中,然后创建索引,其速度比把资料输入现有FULLTEXT索引的速度更为快。

转载于:https://www.cnblogs.com/auto6s/p/5662936.html

你可能感兴趣的文章
目前为止用过的最好的Json互转工具类ConvertJson
查看>>
JavaScript的学习要点
查看>>
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
Oracle——SQL基础
查看>>
项目置顶随笔
查看>>
Redis的安装与使用
查看>>
P1970 花匠
查看>>
java语言与java技术
查看>>
NOIP2016提高A组五校联考2总结
查看>>
对其他团队的项目的意见或建议
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>
动态链接库
查看>>
Magento开发文档(三):Magento控制器
查看>>
SuperSocket 学习
查看>>
给培训学校讲解ORM框架的课件
查看>>
此实现不是 Windows 平台 FIPS 验证的加密算法的一部分
查看>>
性能调优攻略
查看>>