Notas de estudio básicas de MySQL: funciones de uso común

Funciones comunes

1. Función de cadena

función Descripción
CONCAT (S1, S2,…, Sn) La cadena del parámetro de conexión es una cadena
INSERTAR (str, x, y, instr) Reemplace la cadena str comenzando desde la posición x-ésima y la subcadena larga del carácter y con instr
INFERIOR (str) minúscula
SUPERIOR (str) capital
IZQUIERDA (str, x) Devuelve los x caracteres más a la izquierda de la cadena
DERECHA (str, x) Devuelve los x caracteres más a la derecha de la cadena
LPAD (str, n, pad) Llene el lado más a la izquierda de str con el pad de cadena hasta que la longitud sea de n caracteres
RPAD (str, n, pad) Llene el extremo derecho de str con el pad de cadena hasta que la longitud sea de n caracteres
Ltrim (str) Quite el espacio en el lado izquierdo de la cadena str
RTRIM (str) Quite los espacios en el lado derecho de la cadena str
REPETIR (str, x) Devuelve el resultado de str repetido x veces
REEMPLAZAR (str, a, b) Reemplace todas las apariciones de la cadena a en la cadena str con la cadena b
STRCMP (s1, s2) Comparar cadenas
TRIM (str) Quite los espacios al final de la cadena y al principio de la línea
SUBSTRING (str, x, y) Devuelve una subcadena de y caracteres desde la posición str x

2. Funciones numéricas

función Descripción
ABS (x) Valor absoluto
TECHO (X) Devuelve el número entero más pequeño mayor que x
PISO (x) Devuelve el entero más grande menor que x
MOD (x, y) Devuelve el módulo de x / y
RAND () Devuelve un número aleatorio de 0 a 1
REDONDO (x, y) Devuelve el valor redondeado de x con y decimales
TRUNCATE (x, y) Devuelve el resultado del número x truncado ay decimales (no redondeado)
mysql> select round(1.1),round(1.1,2),round(1,2),round(1.1,3);
+------------+--------------+------------+--------------+
| round(1.1) | round(1.1,2) | round(1,2) | round(1.1,3) |
+------------+--------------+------------+--------------+
|          1 |         1.10 |          1 |        1.100 |
+------------+--------------+------------+--------------+
1 row in set (0.00 sec)

mysql> select round(1.235,2),truncate(1.235,2);
+----------------+-------------------+
| round(1.235,2) | truncate(1.235,2) |
+----------------+-------------------+
|           1.24 |              1.23 |
+----------------+-------------------+
1 row in set (0.00 sec)

3. Funciones de fecha y hora

función Descripción
CURDATE () Devolver la fecha actual
CURTIME () Regresar la hora actual
AHORA() Devuelve la fecha y hora actual
UNIX_TIMESTAMP (fecha) Devuelve la marca de tiempo UNIX de la fecha fecha
FROM_UNIXTIME Devuelve el valor de fecha de la marca de tiempo UNIX.
SEMANA (fecha) Fecha de devolución como las primeras semanas del año
AÑO (fecha) Devuelve el año de la fecha fecha
HORA (fecha) 返回 time 的小时值
MINUTE(date) 返回 time 的分钟值
MONTHNAME(date) 返回 date 的月份名
DATE_FORMAT(date,fmt) 返回按字符串 fmt 格式化日期 date 值
DATE_ADD(date,INTERVAL,expr type) 返回上一个日期或时间值加上一个时间间隔的时间值
DATEDIFF(expr,expr2) 返回起始时间 expr 和结束时间 expr2 之间的天数
  • DATE_FORMAT(date,fmt) 函数

    按照 fmt 格式化日期 date 的值,可用的格式符如下:

    格式符 说明
    %S 或 %s 两位数字形式的秒
    %i 两位数字形式的分
    %H 两位数字形式的小时,24 小时
    %h 和 %I(大写 i) 两位数字形式的小时,12 小时
    %k 数字形式的小时,24 小时
    %l(小写 l) 数字形式的小时,12 小时
    %T 24 小时的时间形式
    %r 12 小时的时间形式
    %p AM 或 PM
    %W 一周中每一天的名称
    %a 一周中每一天名称的缩写
    %d 两位数字表示月中的天数
    %e 数字形式表示月中的天数
    %D 英文后缀表示月中的天数
    %w 以数字形式表示周中的天数
    %j 3 位数字表示年中的天数
    %U 周,其中 Sunday 为周中第一天
    %u 周,其中 Monday 为周中第一天
    %M 月名
    %b 缩写的月名
    %m 两位数字表示的月份
    %c 数字表示的月份
    %Y 4 位数字表示的年份
    %y 两位数字表示的年份
    %% 直接值 “%”
    mysql> select now(),DATE_FORMAT(now(),'%M,%D,%Y'),DATE_FORMAT(now(),'%M,%D,%Y,%H,%i,%s');
    +---------------------+-------------------------------+----------------------------------------+
    | now()               | DATE_FORMAT(now(),'%M,%D,%Y') | DATE_FORMAT(now(),'%M,%D,%Y,%H,%i,%s') |
    +---------------------+-------------------------------+----------------------------------------+
    | 2020-08-12 16:41:35 | August,12th,2020              | August,12th,2020,16,41,35              |
    +---------------------+-------------------------------+----------------------------------------+
    1 row in set (0.00 sec)
    
  • DATE_ADD(date,INTERVAL,expr type) 函数

    其中 INTERVAL 是间隔类型关键字,expr 是一个表达式,这个表达式对应后面的类型,type 是间隔类型,MySQL 提供了 13 种间隔类型:

    表达式类型 描述 格式
    HOUR 小时 hh
    MINUTE mm
    SECOND ss
    YEAR YY
    MONTH MM
    DAY DD
    YEAR_MONTH 年和月 YY-MM
    DAY_HOUR 日和小时 DD hh
    DAY_MINUTE 日和分钟 DD hh:mm
    DAY_SECOND 日和分钟 DD hh:mm:ss
    HOUR_MINUTE 小时和分 hh:mm
    HOUR_SECOND 小时和秒 hh:mm:ss
    MINUTE_SECOND 分和秒 mm:ss

    第一列返回当前日期,第二列返回距离当前日期 31 天后的日期,第三列返回距离当前日期一年两个月后的日期:

    mysql> select now() current,date_add(now(),INTERVAL 31 day) after31days,date_add(now(),INTERVAL '1_2' year_month) after_oneyear_twomonth;
    +---------------------+---------------------+------------------------+
    | current             | after31days         | after_oneyear_twomonth |
    +---------------------+---------------------+------------------------+
    | 2020-08-12 16:52:32 | 2020-09-12 16:52:32 | 2021-10-12 16:52:32    |
    +---------------------+---------------------+------------------------+
    1 row in set (0.00 sec)
    

    同样可以使用负数,返回之前的时间:

    mysql> select now() current,date_add(now(),INTERVAL -31 day) after31days,date_add(now(),INTERVAL '-1_-2' year_month) after_oneyear_twomonth;
    +---------------------+---------------------+------------------------+
    | current             | after31days         | after_oneyear_twomonth |
    +---------------------+---------------------+------------------------+
    | 2020-08-12 16:53:38 | 2020-07-12 16:53:38 | 2019-06-12 16:53:38    |
    +---------------------+---------------------+------------------------+
    1 row in set (0.00 sec)
    
  • DATEDIFF(expr,expr2) 函数

    计算两个日期之间相差的天数:

    mysql> select DATEDIFF('2008-08-08',now());
    +------------------------------+
    | DATEDIFF('2008-08-08',now()) |
    +------------------------------+
    |                        -4387 |
    +------------------------------+
    1 row in set (0.00 sec)
    

4、流程函数

函数 说明
IF(value,t f) 如果 value 为真,返回 t;否则返回 f
IFNULL(value1,value2) 如果 value1 不为空,返回 value1,否则返回 value2
CASE WHEN [value1] THEN[result1]…ELSE [default]END 如果 value1 是真,返回 result1,否则返回 default
CASE [expr] WHEN [value1] THEN[result1]… ELSE [default] END 如果 expr 等于 value1,返回 result1,否则返回 default

5、其他常用函数

函数 说明
DATABASE() 返回当前数据库名
VERSION() 返回当前数据库版本
USER() 返回当前登陆者名字
INET_ATON(IP) 返回 IP 地址的数字表示
INET_NTOA(num) 返回数字代表的 IP 地址
PASSWORD(str) 返回字符串 str 的加密密码
MD5() 返回字符串 str 的 MD5 值

Supongo que te gusta

Origin blog.csdn.net/qq_36879493/article/details/108011009
Recomendado
Clasificación