加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_新乡站长网 (https://www.0373zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql 运算函数_MYSQL常见运算符和 函数

发布时间:2022-12-22 11:29:45 所属栏目:MySql教程 来源:
导读:  字符函数

  (1)CONCAT():字符连接

  SELECT CONCAT(‘IMOOC’,’-‘,’MySQL’);//IMOOC-MySQL

  SELECT CONCAT (first_name,last_name) AS fullname FROM te
  字符函数
 
  (1)CONCAT():字符连接
 
  SELECT CONCAT(‘IMOOC’,’-‘,’MySQL’);//IMOOC-MySQL
 
  SELECT CONCAT (first_name,last_name) AS fullname FROM test;
 
  (2)CONCAT_WS():使用指定的分隔符进行字符连接,(第一个位置指定分隔符,后面的为分割的内容)
 
  SELECT CONCAT_WS(‘%’,’abc’,’def’); //第一个是指定的分隔符;//abc%def
 
  (3)FORMAT():数字格式化
 
  SELECT FORMAT(123560.75,2); //123,560.75;第二个参数若为0(四舍五入),显示整数
 
  (4)LOWER():转化小写
 
  (5)UPPER():转换大写
 
  SELECT UPPER(‘mysql’);//MYSQL
 
  (6)LEFT():获取左侧字符
 
  (7)RIGHT():获取右侧字符
 
  SELECT LEFT (‘MYSQL’,2); //MY
 
  SELECT LOWER(LEFT(‘mYsql’,2)); //函数嵌套;//my
 
  (8)LENGTH():取得字符串长度
 
  LENGTH(‘MYSQL ’);//6;最后加了个空格
 
  (9)LTRIM():清空字符串前面(左端)空格
 
  (10)RTRIM():清空字符串末尾(右端)空格
 
  (11)TRIM():删除前导、后续空格或者指定字符
 
  SELECT TRIM(’ MySQL ‘);
 
  SELECT TRIM(LEADING ‘?’ FROM ‘??MYSQL???’); //删除前导?
 
  SELECT TRIM(TRAILING ‘?’ FROM ‘??MYSQL???’); //删除后续?
 
  SELECT TRIM(BOTH ‘?’ FROM ‘??MYSQL???’); //前后均删除,但不能删除中间的?
 
  (12)REPLACE():替换
 
  SELECT REPLACE(‘MY???SQL’,’?’,”); //将问号换成空白,即去掉?
 
  SELECT REPLACE(‘MY???SQL’,’?’,’~~’); //可以将n个?换成m个组合符号
 
  (13)SUBSTRING():字符串截取(从1开始,编程里可能从0开始)
 
  SELECT SUBSTRING(‘mYSQL’,1,2); //从字符串中的第一个位置开始截取2个字符mY
 
  SELECT SUBSTRING(‘mYSQL’,3); //SQL 从第3的位置开始截取到结束
 
  SELECT SUBSTRING(‘mYSQL’,-2); //QL 从倒数第2位开始截取到结束
 
  SELECT SUBSTRING(‘mYSQL’,-3,-1); //F,长度不能是负的,但是有些编程语言支持,而mysql不支持
 
  (14)[NOT] LIKE:模式匹配(百分号%代表任意个字符; 下划线_代表任意一个字符)
 
  例子:”tom%”
 
  SELECT * FROM test WHERE first_name LIKE ‘%1%%’ ESCAPE ‘1’; // 去除’1’后面的编译,查找包含’%’符号的信息 ‘_’任意一个字符
 
  MySQL 会自动将数字转化为字符串,反之亦然。
 
  字符串转数字:(例如:'123'转换成123)
 
  方法一:SELECT CAST('123' AS SIGNED);
 
  方法二:SELECT CONVERT('123',SIGNED);
 
  方法三:SELECT '123'+0;
 
  数字转字符串:(例如:123转换成'123')--若想要将数字明确地转化为字符串,可使用 CAST()或 CONCAT()函数:
 
  mysql> SELECT 38.8, CAST(38.8 AS CHAR);
 
  ? -> 38.8, '38.8'
 
  mysql> SELECT 38.8, CONCAT(38.8);
 
  ? -> 38.8, '38.8'
 
  数值运算符函数
 
  SELECT CEIL(3.01) ==>4 /有n.xx 都是n+1 进一取整 向上取整
 
  SELECT FLOOR(3.99) ==>3 /取n.xx 都是n 舍一取整 向下取整
 
  SELECT 3 DIV 4 ==> 0 /整数除法,取商
 
  SELECT 3/4 ==>0.75 /除法
 
  SELECT 2.1 MOD 2 ==>0.1 /取余数(取模) 被除数是整数,小数都可以
 
  SELECT 21 % 2 ==>1 /取余数 mod=%
 
  SELECT POWER(3,4) ==>81 /3的4次方 幂运算
 
  SELECT ROUND(3.1415926,4) ==>3.1416 /四舍五入,保留4位小数
 
  SELECT TRUNCATE(123.89,1) ==>123.8 /截取小数点后的位数
 
  SELECT TRUNCATE(123.89,0) ==>123 /截取小数点后的位置,0位为整数部分
 
  SELECT TRUNCATE(123.89,-1) ==>120 /*截取-1,从个位起去掉后面的数值替换为0
 
  比较运算符和函数
 
  [NOT]BETWEEN…AND…[不]在范围之内,结果返回1或0。
 
  例如:15 BETWEEN 10 AND 16; //1。
 
  [NOT]IN()列出值选项。
 
  例如:SELECT 10 IN(5,10,25); //1。
 
  IS [NOT] NULL:只有NULL IS [NOT] NULL返回1,其他情况(包括”,0)都返回0。
 
  日期时间函数
 
  (1)SELECT NOW(); // 当前日期时间。
 
  (2)SELECT CURDATE(); // 当前日期。
 
  (3)SELECT CURTIME(); // 当前时间。
 
  (4)SELECT DATE_ADD(‘2014-3-12’,INTERVAL [-]365 DAY); // 2015-03-12,DAY还可以替换为WEEK,MONTHMySQL 函数,YEAR等。DATE_ADD不是增加的意思,是变化,既可以增加,也可以减去。
 
  (5)DATEDIFF(); // 日期的差值。
 
  DATEDIFF(‘2013-3-12’,’2014-3-12’); // -365 日期差值。
 
  (6)DATE_FORMAT(); // 日期格式化。
 
  SELECT DATE_FORMAT(‘2014-3-2’,’%m%d%Y’); // 03/02/2014(’%’带有前导0作用)。
 
  信息函数
 
  SELECT CONNECTION_ID(); ==>2 /连接ID
 
  SELECT DATABASE(); /当前打开的数据库
 
  SELECT LAST_INSERT_ID(); /最后插入的记录 同时写入多条记录是只返回写入的第一条的id。而且表中必须要有自动编号的字段。
 
  DESC tab_name; /查看数据库字段及属性,查看表结构
 
  SELECT USER(); /* 打印当前用户信息
 
  SELECT VERSION(); /*打印当前数据库信息
 
  聚合函数
 
  只有一个返回值
 
  AVG() - 平均值
 
  SELECT ROUND(AVG(goods_price),2) AS avg_price FROM tdb_goods;
 
  COUNT() - 计数
 
  SELECT COUNT(goods_id) as counts FROM tdb_goods;
 
  MAX() - 最大值
 
  SELECT MAX(goods_price) as counts FROM tdb_goods;
 
  MIN() - 最小值
 
  SUM() - 求和
 
  SELECT SUM(goods_price) as counts FROM tdb_goods;
 
  加密函数
 
  MD5():信息摘要算法
 
  select md5(’admin’);//给admin加密。如果mysql中的信息是为了web开发做准备,那么尽量使用md5
 
  password():密码算法
 
  set password=password(‘1236’)修改了当前登录密码为1236
 

(编辑:开发网_新乡站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!