Conceptos básicos de MySQL (5): funciones de uso común en MySQL

Prefacio

  El último artículo le presentó las consultas de combinación de varias tablas y las consultas anidadas , incluidas las combinaciones internas y las combinaciones externas, y también presentó el uso de subconsultas, incluidas palabras clave como in y any. Finalmente, los puntos de conocimiento de esta parte se explican a través de casos. Este artículo presenta algunas funciones de uso común en MySQL, incluidas funciones matemáticas, funciones de cadena, funciones de fecha y hora, funciones de agrupación y fusión, funciones lógicas y funciones de ventanas. Pero la función de ventana es muy importante, la presentaremos por separado en el próximo artículo. Primero, te presentaré las funciones de cadena.

Uno, función de cadena

  Primero presentamos las funciones relacionadas de las funciones de cadena a través de una tabla:

  estas son probablemente las funciones de cadena que usamos comúnmente. En este artículo, solo presentamos las funciones de cadena más comunes. Si lo usa en su trabajo, puede verificar el uso relacionado;
1. CONCAT(str1,str2,...)Combine múltiples cadenas de texto en una cadena larga; el uso específico es el siguiente:

select concat('我们','要', '好好学习');

  Los resultados de la ejecución son los siguientes: A
  lo que debemos prestar atención aquí es al NULLproblema del valor, cualquier conexión entre una cadena y un valor NULL es NULL, como sigue:

select concat('我们',NULL, '好好学习');

  Los resultados de la ejecución son los siguientes:

2. INSTR(str,substr)Devuelve la posición de la primera aparición de la subcadena subcadena en la cadena de texto str (), el uso específico es el siguiente:

select instr('我们要学好MySQL', '学好');

  Los resultados de la ejecución son los siguientes:

3. LEFT(str,len)Devuelve los caracteres len del extremo izquierdo de la cadena str. El uso específico es el siguiente:

select left('我们要学好MySQL', 3);

  Los resultados de la ejecución son los siguientes:

4. RIGHT(str,len)Devuelve los caracteres len del extremo derecho de la cadena str. El uso específico es el siguiente:

select right('我们要学好MySQL', 3);

  Los resultados de la ejecución son los siguientes:

5. MID(str,pos,len)Devuelve len caracteres desde la posición pos de la cadena str. El uso específico es el siguiente:

select mid('我们要学好MySQL', 4,2);

  Los resultados de la ejecución son los siguientes:

6. SUBSTRING ( expression, start, length )Interceptar la cadena y los parámetros son los siguientes:

  • expresión : cadena, cadena binaria, texto, imagen, columna o columna que contiene una expresión. No utilice expresiones que incluyan funciones agregadas.
  • start : un entero o una expresión que se puede convertir implícitamente en un int, especificando la posición inicial de la subcadena.
  • length : un entero o una expresión que se puede convertir implícitamente en un int, especificando la longitud de la subcadena.

  El uso específico es el siguiente:

select substring('我们要学好MySQL',1,3);

  Los resultados de la ejecución son los siguientes:

7. REPLACE(str,from_str,to_str)Reemplace la subcadena from_str en la cadena str con la cadena to_str y regrese. El uso específico es el siguiente:

select replace('我们要学好MySQL', 'MySQL', 'JAVA');

  Los resultados de la ejecución son los siguientes:

8. REPEAT(str,count)Devuelve una cadena compuesta por cadenas de conteo. El uso específico es el siguiente:

select repeat('我们要学好MySQL', 3);

  Los resultados de la ejecución son los siguientes:

9. UPPER(str)Devuelve la cadena en mayúsculas str, el uso específico es el siguiente:

select upper('mysql');

  Los resultados de la ejecución son los siguientes:

10. LOWER(str)Devuelve la cadena en mayúsculas str, el uso específico es el siguiente:

select lower('MYSQL');

  El resultado de la implementación es el siguiente:

  Convertir la primera letra del nombre de cada empleado a mayúscula

select concat(upper(left(empname,1)), lower(mid(empname,2))) from emp;

  Los resultados de la implementación son los siguientes:

2. Funciones matemáticas

  Primero le presentamos las funciones relacionadas de las funciones matemáticas a través de una tabla:

  todos hemos mencionado antes, pero solo presentamos las más comúnmente utilizadas. Esta parte también es la misma;
1. ABS(n)Devuelve el valor absoluto de n, el uso específico es el siguiente:

select abs(-32);

  Los resultados de la ejecución son los siguientes:

2. FLOOR(n)Devuelve el valor entero más grande no mayor que n. El uso específico es el siguiente:

select floor(1.23);

  Los resultados de la ejecución son los siguientes:

3. CEILING(n)Devuelve el valor entero más pequeño no menor que n. El uso específico es el siguiente:

select ceiling(1.23);

  Los resultados de la ejecución son los siguientes:

4. ROUND(n,d)Devuelve el valor redondeado de n, manteniendo d lugares decimales (el valor predeterminado de d es 0), el uso específico es el siguiente:

select round(1.58);

  Los resultados de la ejecución son los siguientes:

5. RAND(n)Devuelve un valor de punto flotante aleatorio en el rango de 0 a 1.0 (el número n se puede usar como valor inicial), el uso específico es el siguiente:

select rand();

  Los resultados de la ejecución son los siguientes:

  pero también tenemos parámetros dentro, el uso específico es el siguiente:

select rand(2);

  Los resultados de la implementación son los siguientes:

Tres, función de fecha

  Primero introducimos las funciones relacionadas de la función de fecha a través de una tabla:

  lo hemos mencionado antes, pero solo presentamos las más comúnmente utilizadas. Esta parte también es la misma;
1. DATE(date)Devuelve la parte de la fecha de la expresión de fecha / hora especificada o convierte el texto a un formato de fecha. El uso específico es el siguiente:

select date('20200101');

  Los resultados de la ejecución son los siguientes:

2. WEEK(date)Devuelve la semana del año cuando la fecha especificada es la siguiente:

select week('2021-03-27');

  Los resultados de la ejecución son los siguientes:

3. MONTH(date)Devuelve el mes de la fecha especificada, de la siguiente manera:

select month('2021-03-27');

  Los resultados de la implementación son los siguientes:

4. QUARTER(date)Devuelva los primeros trimestres del año para la fecha especificada. La implementación específica es la siguiente:

select quarter('2021-03-27');

  Los resultados de la ejecución son los siguientes:

5. YEAR(date)Devuelve el año de la fecha especificada (rango de 1000 a 9999). La implementación específica es la siguiente:

select year('2021-03-27');

  Implementación de los resultados son los siguientes:

  Pero nuestra función de fecha también se puede sumar y restar, de la siguiente manera: DATE_ADD(date,interval expr type),, ADDDATE(date,interval expr type), DATE_SUB(date,interval expr type), SUBDATE(date,interval expr type)A continuación, se introduce el significado de los parámetros:

  • la fecha es una fecha y hora o un valor de fecha
  • expr una cadena de expresión para sumar y restar fecha
  • type especifica cómo se debe interpretar la expresión expr

  Nuestros parámetros generales incluirán hora, minuto, segundo, año, mes y día. El significado específico y el formato se muestran en la siguiente tabla: El


  uso específico es el siguiente:

select date_add("2021-03-27",interval 1 day);

  Los resultados de la implementación específica son los siguientes: La

  introducción anterior es sumar un día, también podemos restar un día, y la implementación específica es la siguiente:

select date_sub("2021-03-27", interval 1 day);

  Los resultados de ejecución específicos son los siguientes:

6. DATE_FORMAT(date,format)Formatee el valor de la fecha de acuerdo con la cadena de formato Se pueden usar marcadores en la cadena de formato. Los parámetros específicos son los siguientes:

  • % m nombre del mes (enero… diciembre)
  • % Y año, número, 4 dígitos
  • % y año, número, 2 dígitos
  • % a Nombre de la semana abreviado (dom …… sáb)
  • % d El número de días del mes, número (00 …… 31)
  • % e El número de días del mes, número (0 …… 31)
  • % m mes, número (01 …… 12)
  • % c mes, número (1 …… 12)
  • % b nombre del mes abreviado (ene ... dic)
  • % j El número de días en un año (001 …… 366)
  • % h hora (00 …… 23)
  • % k horas (0 …… 23)
  • % i minuto, número (00 …… 59)
  • % r tiempo, 12 horas (hh: mm: ss [ap] m)
  • % t tiempo, 24 horas (hh: mm: ss)
  • % s segundos (00 …… 59)
  • % p am o pm
  • % w El número de días en una semana (0 = domingo …… 6 = sábado)
  • % u semana (0 …… 52), donde el domingo es el primer día de la semana
  • %% personaje%

  El uso específico es el siguiente:

select date_format('2021-03-27 15:21:00','%Y-%m-%d');

  Los resultados específicos de la ejecución son los siguientes:

7. CURDATE()Devuelve el valor de la fecha actual en el formato 'aaaa-mm-dd' o aaaammdd (según el contexto del valor devuelto es una cadena o un número), el uso específico es el siguiente :

select curdate();

  Los resultados de ejecución específicos son los siguientes:

8. El CURTIME()valor de tiempo actual se devuelve en el formato de 'hh: mm: ss' o hhmmss (según el contexto del valor de retorno es una cadena o un número), la implementación específica es como sigue:

select curtime();

  Los resultados de ejecución específicos son los siguientes:

9. NOW()Devuelve la fecha y hora actuales en el formato 'aaaa-mm-dd hh: mm: ss' o aaaammddhhmmss (según el contexto del valor de retorno es una cadena o un número) , la implementación específica es la siguiente:

select now(); 

  Los resultados de ejecución específicos son los siguientes:

10. DATEDIFF(expr1,expr2)Devuelve el número de días entre la fecha de finalización expr1 y la fecha de inicio expr2, y la implementación específica es la siguiente:

-- 练习:查询每位员工的工龄:ename,hiredate,工龄
select empno,empname,job,hiredate,datediff(curdate(),hiredate)/365 工龄 from emp;

  Los resultados de ejecución específicos son los siguientes:

11. UNIX_TIMESTAMP()Devuelve una marca de tiempo Unix (el número de segundos desde '1970-01-01 00:00:00', la fecha predeterminada es la hora actual), la implementación específica es la siguiente:

select unix_timestamp();

  Los resultados específicos de la implementación son los siguientes:

  Por supuesto, también podemos unix_timestamp()incluir la fecha en ella, de la siguiente manera:

select unix_timestamp('2021-03-27');

  Los resultados de ejecución específicos son los siguientes:

12. FROM_UNIXTIME(unix_timestamp)El valor de la marca de tiempo se devuelve en el formato 'aaaa-mm-dd hh: mm: ss' o aaaammddhhmmss (según el contexto del valor de retorno es una cadena o un número ), la implementación específica es la siguiente:

select from_unixtime(1577808000);

  Los resultados específicos de la implementación son los siguientes:

  consultar la fecha de vencimiento de cada empleado (el período de prueba es de tres meses): nombre de empresa, fecha de contratación, fecha de vencimiento de la prueba

select empname, hiredate, adddate(hiredate, interval 3 month) 试用截止日期 from emp; 

  La implementación específica es la siguiente:

Cuarto, la función de conversión

1. Se CAST(expression AS data_type)utiliza para convertir explícitamente una expresión de un determinado tipo de datos en otro tipo de datos. El parámetro de la función CAST () es una expresión, que incluye el valor de origen y el tipo de datos de destino separados por la palabra clave AS, el los parámetros son los siguientes:

  • expresión : cualquier expresión SQL válida.
  • AS : se utiliza para separar dos parámetros, antes de AS son los datos a procesar y después de AS es el tipo de datos a convertir.
  • data_type : los tipos de datos proporcionados por el sistema de destino, incluidos bigint y sql_variant, no pueden utilizar tipos de datos definidos por el usuario.

  Los tipos que se pueden convertir son los siguientes:

  • Binario, con efecto de prefijo binario: BINARIO
  • Tipo de carácter, con parámetros: CHAR ()
  • Fecha: FECHA
  • Tiempo tiempo
  • Tipo de fecha y hora: DATETIME
  • Número de coma flotante: DECIMAL
  • Entero: FIRMADO
  • Entero sin signo: UNSIGNED

  La implementación específica es la siguiente:

select cast('9.0' AS decimal);

  Los resultados específicos de la implementación son los siguientes:

Cinco, función de grupo y fusión

GROUP_CANCAT([distinct] str [order by str asc/desc] [separator])Concatenar los valores en el mismo grupo producido por group by y devolver un resultado de cadena. El uso específico es el siguiente:

-- 查询各部门的员工姓名
select deptno,group_concat(empname) from emp group by deptno;

  Los resultados específicos de la implementación son los siguientes:

Seis, función lógica

1. IFNULL(expression, alt_value)Determine si la primera expresión es NULL, si es NULL, devuelve el valor del segundo parámetro, si no es NULL, devuelve el valor del primer parámetro. El uso específico es el siguiente:

select ifnull(comm,0) from emp;

  Los resultados de ejecución específicos son los siguientes:

2. IF(expr1,expr2,expr3)Si el valor de expr1 es verdadero, se devuelve el valor de expr2, y si el valor de expr1 es falso, se devuelve el valor de expr3. , La implementación específica es la siguiente:

-- 查询每位员工的工资级别:3000及以上为高,1500-3000为中,1500及以下为低
select empname,sal,if(sal>=4000,'高',if(sal>=3500,'中','低')) 工资级别 from emp;
-- 计算每位员工的实发工资(基本工资+提成):empname,sal,实发工资 
select empname, sal, sal+ifnull(comm, 0) 实发工资 from emp; 

  Los resultados de la ejecución específica son los siguientes:


3. CASE WHEN expr1 THEN expr2 [WHEN expr3 THEN expr4...ELSE expr] ENDSi el valor de expr1 es verdadero, se devuelve el valor de expr2, y si el valor de expr3 es falso, se devuelve el valor de expr4. La implementación específica es la siguiente:

select empname,sal,case when sal>=3000 then '高' when sal>=1500 then '中' else '低' end 工资级别 from emp;

  Los resultados de ejecución específicos son los siguientes: la

  última parte es la función de ventana, pero es más crítica, la presentaremos en detalle en el próximo artículo.

para resumir

  El último artículo le presentó las consultas de combinación de varias tablas y las consultas anidadas , incluidas las combinaciones internas y las combinaciones externas, y también presentó el uso de subconsultas, incluidas palabras clave como in y any. Finalmente, los puntos de conocimiento de esta parte se explican a través de casos. Este artículo presenta algunas funciones de uso común en MySQL, incluidas funciones matemáticas, funciones de cadena, funciones de fecha y hora, funciones de agrupación y fusión, funciones lógicas y funciones de ventanas. Pero la función de ventana es muy importante, la presentaremos por separado en el próximo artículo. Además, también presentamos varios usos de esta función a través de casos. Por lo tanto, mysql es una habilidad muy importante. Casi todos los trabajos en la computadora necesitan una habilidad de mysq. Por lo tanto, necesitamos un dominio especial. La vida es interminable y la lucha es interminable Trabajamos duro todos los días, estudiamos mucho, mejoramos constantemente nuestras habilidades y creemos que aprenderemos algo. ¡Vamos! ! !

Supongo que te gusta

Origin blog.csdn.net/Oliverfly1/article/details/115260304
Recomendado
Clasificación