首页 > 数据库 >MySQL 单行函数

MySQL 单行函数

时间:2022-11-12 12:23:43浏览次数:35  
标签:10 函数 RADIANS 单行 DUAL MySQL hello SELECT

单行函数: 输入一行,输出一行
聚合函数(分组函数): 输入多行,输出一行

 

 

单行函数: 输入一行,输出一行
聚合函数(分组函数): 输入多行,输出一行

#1.数值函数
#基本的操作
SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32),
FLOOR(-43.23),MOD(12,5),12 MOD 5,12 % 5
FROM DUAL;

ABS: 取绝对值
SIGN: 整数返回1,负数返回负1,0返回0
PI: π圆周率
CEIL: 天花板函数,因32.32在32-33之间,所以天花板数是33,负数43.23在-44- -43之间,所以天花板是-43
FLOOR: 地板函数,跟上面一个原理
MOD: 取余数


#取随机数
#不放数值返回随机数且每次返回不同,放相同数值不论正负,返回相同数值
SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1)
FROM DUAL;


#四舍五入,截断操作
#y为保留小数位
#当为负数,则以此类推-1为2,当3小于5不进位为0,返回结果为120
#-25等于5进一位,返回200
SELECT ROUND(123.556),ROUND(123.456,0),ROUND(123.456,1),ROUND(123.456,2),
ROUND(123.456,-1),ROUND(153.456,-2)
FROM DUAL;


# 截断操作
# 仅截断,不做进位
# -1 返回120
SELECT TRUNCATE(123.456,0),TRUNCATE(123.496,1),TRUNCATE(129.45,-1)
FROM DUAL;


#单行函数可以嵌套
SELECT TRUNCATE(ROUND(123.456,2),0)
FROM DUAL;

#角度与弧度的互换

SELECT RADIANS(30),RADIANS(45),RADIANS(60),RADIANS(90),  #角度换弧度
DEGREES(2*PI()),DEGREES(RADIANS(60))  # 弧度换角度
FROM DUAL;


#三角函数
SELECT SIN(RADIANS(30)),DEGREES(ASIN(1)),TAN(RADIANS(45)),DEGREES(ATAN(1))
FROM DUAL;

#指数和对数
SELECT POW(2,5),POWER(2,4),EXP(2)
FROM DUAL;

SELECT LN(EXP(2)),LOG(EXP(2)),LOG10(10),LOG2(4)
FROM DUAL;

#进制间的转换
# BIN转2进制
# HEX转16进制
# OCT转8进制
# 
SELECT BIN(10),HEX(10),OCT(10),CONV(10,10,8) # 第二个10表示进制,将10进制的10转为8进制
FROM DUAL;

 

 字符串函数

 

 

 

#只返回第一个字符的编码
#返回5,2,字符个数
#字节数,一个中文占3个字节
SELECT ASCII('Abcdfsf'),CHAR_LENGTH('hello'),CHAR_LENGTH('我们'), LENGTH('hello'),LENGTH('我们') FROM DUAL;
#
# # xxx worked for yyy SELECT CONCAT(emp.last_name,' worked for ',mgr.last_name) "details" FROM employees emp JOIN employees mgr WHERE emp.`manager_id` = mgr.employee_id; SELECT CONCAT_WS('-','hello','world','hello','beijing') FROM DUAL; #字符串的索引是从1开始的! SELECT INSERT('helloworld',2,3,'aaaaa'),REPLACE('hello','lol','mmm') FROM DUAL; SELECT UPPER('HelLo'),LOWER('HelLo') FROM DUAL; SELECT last_name,salary FROM employees WHERE LOWER(last_name) = 'King'; SELECT LEFT('hello',2),RIGHT('hello',3),RIGHT('hello',13) FROM DUAL; # LPAD:实现右对齐效果 # RPAD:实现左对齐效果 SELECT employee_id,last_name,LPAD(salary,10,' ') FROM employees; SELECT CONCAT('---',LTRIM(' h el lo '),'***'), TRIM('oo' FROM 'ooheollo') FROM DUAL; SELECT REPEAT('hello',4),LENGTH(SPACE(5)),STRCMP('abc','abe') FROM DUAL; SELECT SUBSTR('hello',2,2),LOCATE('lll','hello') FROM DUAL; SELECT ELT(2,'a','b','c','d'),FIELD('mm','gg','jj','mm','dd','mm'), FIND_IN_SET('mm','gg,mm,jj,dd,mm,gg') FROM DUAL; SELECT employee_id,NULLIF(LENGTH(first_name),LENGTH(last_name)) "compare" FROM employees;

 

标签:10,函数,RADIANS,单行,DUAL,MySQL,hello,SELECT
From: https://www.cnblogs.com/rtnb/p/16883452.html

相关文章

  • Mysql共享锁和排他锁
    参考:https://blog.csdn.net/diaobatian/article/details/90603887不知道图片能不能正常显示mysql锁机制分为表级锁和行级锁,本文就和大家分享一下我对mysql中行级锁中的共......
  • 命名、变量、代码和函数
    这是一个函数注意事项以供参考。函数的定义是以def开始的函数名由字符和下划线_组成函数名后紧跟()括号包含参数且多个参数以逗号隔开参数名称不可以重复紧跟这参数的......
  • 关系仿函数
    4.3.3关系仿函数功能描述:实现关系对比仿函数原型:template<classT>boolequal_to<T>//等于template<classT>boolnot_equal_to<T>......
  • 逻辑仿函数
    4.3.4逻辑仿函数功能描述:实现逻辑运算函数原型:template<classT>boollogical_and<T>//逻辑与template<classT>boollogical_or<T>......
  • 函数递归+线性表
    今日学习了函数的递归,递归指的是函数重复引用自身,为了避免栈溢出,应设置合适的限制条件。下面将今天做的练习进行整理:练习1:接收一个整型值,按照顺序打印他的每一位#include<st......
  • 函数对象
    4STL-函数对象4.1函数对象4.1.1函数对象概念概念:重载函数调用操作符()的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,也叫仿函数本质:函......
  • 算术仿函数
    4.3.2算术仿函数功能描述:实现四则运算其中negate是一元运算,其他都是二元运算仿函数原型:template<classT>Tplus<T>//加法仿函数template<clas......
  • 编写C程序,实现顺序栈的下列功能: 1、设计一个虚拟界面,让用户选择操作(根据提示输入数据
    编写C程序,实现顺序栈的下列功能: 1、设计一个虚拟界面,让用户选择操作(根据提示输入数据)2、采用模块化编程思想,编写main函数和若干子函数(实现功能)3、栈的基本功能有:创......
  • docker实战教程(十六):mysql主从复制docker版
    新建主服务器容器实例3307dockerrun-p3307:3306--namemysql-master-v/mydata/mysql-master/log:/var/log/mysql-v/mydata/mysql-master/data:/var/lib/mysql-v......
  • mysql 中的 explain 关键字
    在MySQL中使用explain关键字可以模拟查看数据库是如何来执行SQL查询语句,也就是常说的查看一条SQL语句在数据库中的执行计划,如下图所示此图就是执行EXPLAINSELECT*FRO......