Noções básicas do MySQL (5) - funções comumente usadas no MySQL

Prefácio

  O último artigo apresentou consultas de junção de várias tabelas e consultas aninhadas , incluindo junções internas e junções externas, e também introduziu o uso de subconsultas, incluindo palavras-chave como in e any. Por fim, os pontos de conhecimento desta parte são explicados por meio de casos. Este artigo apresenta algumas funções comumente usadas no MySQL, incluindo funções matemáticas, funções de string, funções de data e hora, funções de agrupamento e fusão, funções lógicas e funções de janelas. Mas a função da janela é muito importante, iremos apresentá-la separadamente no próximo artigo. Primeiro, vou apresentar funções de string para você.

Um, função string

  Primeiro, apresentamos as funções relacionadas às funções de string por meio de uma tabela:

  essas são provavelmente as funções de string que usamos com frequência. Neste artigo, apresentamos apenas as funções de string mais comuns. Se você usá-las em seu trabalho, poderá verificar o uso relacionado;
1. CONCAT(str1,str2,...)Combine várias strings de texto em uma string longa; o uso específico é o seguinte:

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

  Os resultados da execução são os seguintes:
  O que precisamos prestar atenção aqui é o NULLproblema do valor, qualquer conexão entre uma string e um valor NULL é NULL, da seguinte maneira:

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

  Os resultados da execução são os seguintes:

2. INSTR(str,substr)Retorne a posição da primeira ocorrência da substring substr na string de texto str (), o uso específico é o seguinte:

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

  Os resultados da execução são os seguintes:

3. LEFT(str,len)Retorne len caracteres da extremidade esquerda da string str. O uso específico é o seguinte:

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

  Os resultados da execução são os seguintes:

4. RIGHT(str,len)Retorne len caracteres da extremidade direita da string str. O uso específico é o seguinte:

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

  Os resultados da execução são os seguintes:

5. MID(str,pos,len)Retorne len caracteres da posição pos da string str. O uso específico é o seguinte:

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

  Os resultados da execução são os seguintes:

6. SUBSTRING ( expression, start, length )Intercepte a string e os parâmetros são os seguintes:

  • expressão : string, string binária, texto, imagem, coluna ou expressão contendo coluna. Não use expressões que incluem funções agregadas.
  • start : Um inteiro ou uma expressão que pode ser convertida implicitamente em um int, especificando a posição inicial da substring.
  • length : um número inteiro ou uma expressão que pode ser convertida implicitamente em um int, especificando o comprimento da substring.

  O uso específico é o seguinte:

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

  Os resultados da execução são os seguintes:

7. REPLACE(str,from_str,to_str)Substitua a substring from_str na string str pela string to_str e return. O uso específico é o seguinte:

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

  Os resultados da execução são os seguintes:

8. REPEAT(str,count)Retorne uma string composta de strings de contagem str. O uso específico é o seguinte:

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

  Os resultados da execução são os seguintes:

9. UPPER(str)Retorne a string maiúscula str, o uso específico é o seguinte:

select upper('mysql');

  Os resultados da execução são os seguintes:

10. LOWER(str)Retorne a string maiúscula str, o uso específico é o seguinte:

select lower('MYSQL');

  O resultado da implementação é o seguinte:

  Converta a primeira letra do nome de cada funcionário em maiúsculas

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

  Os resultados da implementação são os seguintes:

2. Funções matemáticas

  Primeiro, apresentamos a você as funções relacionadas às funções matemáticas por meio de uma tabela:

  todos nós mencionamos antes, mas apenas apresentamos as mais comumente usadas. Esta parte também é a mesma;
1. ABS(n)Retorne o valor absoluto de n, o uso específico é o seguinte:

select abs(-32);

  Os resultados da execução são os seguintes:

2. FLOOR(n)Retorne o maior valor inteiro não maior que n. O uso específico é o seguinte:

select floor(1.23);

  Os resultados da execução são os seguintes:

3. CEILING(n)Retorne o menor valor inteiro não inferior a n. O uso específico é o seguinte:

select ceiling(1.23);

  Os resultados da execução são os seguintes:

4. ROUND(n,d)Retorne o valor arredondado de n, mantendo d casas decimais (o valor padrão de d é 0), o uso específico é o seguinte:

select round(1.58);

  Os resultados da execução são os seguintes:

5. RAND(n)Retorne um valor de ponto flutuante aleatório no intervalo de 0 a 1,0 (o número n pode ser usado como o valor inicial), o uso específico é o seguinte:

select rand();

  Os resultados da execução são os seguintes:

  mas também temos parâmetros internos, o uso específico é o seguinte:

select rand(2);

  Os resultados da implementação são os seguintes:

Três, função data

  Primeiro, apresentamos as funções relacionadas à função de data por meio de uma tabela:

  já mencionamos isso antes, mas apenas apresentamos as mais comumente usadas. Esta parte também é a mesma;
1. DATE(date)Retorne a parte da data da expressão de data / hora especificada ou converta o texto em um formato de data. O uso específico é o seguinte:

select date('20200101');

  Os resultados da execução são os seguintes:

2. WEEK(date)Retorne a semana do ano quando a data especificada é a seguinte:

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

  Os resultados da execução são os seguintes:

3. MONTH(date)Retorne o mês da data especificada, como segue:

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

  Os resultados da implementação são os seguintes:

4. QUARTER(date)Retorne os primeiros trimestres do ano para a data especificada. A implementação específica é a seguinte:

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

  Os resultados da execução são os seguintes:

5. YEAR(date)Retorne o ano da data especificada (intervalo de 1000 a 9999). A implementação específica é a seguinte:

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

  Aplicação dos resultados são os seguintes:

  Mas a nossa função de data também pode somar e subtrair, como segue: DATE_ADD(date,interval expr type),, ADDDATE(date,interval expr type), DATE_SUB(date,interval expr type), SUBDATE(date,interval expr type)Em seguida, apresentamos o significado dos parâmetros:

  • data é uma data e hora ou valor de data
  • expr uma string de expressão para adicionar e subtrair data
  • tipo especifica como a expressão expr deve ser interpretada

  Nossos parâmetros gerais envolverão hora, minuto, segundo, ano, mês e dia. O significado específico e o formato são mostrados na tabela a seguir: O


  uso específico é o seguinte:

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

  Os resultados da implementação específica são os seguintes: A

  introdução anterior é para adicionar um dia, também podemos subtrair um dia, e a implementação específica é a seguinte:

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

  Os resultados específicos da execução são os seguintes:

6. DATE_FORMAT(date,format)Formate o valor da data de acordo com a string de formato.Os marcadores podem ser usados ​​na string de formato. Os parâmetros específicos são os seguintes:

  • % m nome do mês (janeiro …… dezembro)
  • % Y ano, número, 4 dígitos
  • % y ano, número, 2 dígitos
  • % a Nome abreviado da semana (sol ... sáb)
  • % d O número de dias no mês, número (00 …… 31)
  • % e O número de dias no mês, número (0 …… 31)
  • % m mês, número (01 …… 12)
  • % c mês, número (1 …… 12)
  • % b nome abreviado do mês (janeiro ... dezembro)
  • % j O número de dias em um ano (001 …… 366)
  • % h hora (00 …… 23)
  • % k horas (0 …… 23)
  • % i minuto, número (00 …… 59)
  • % r tempo, 12 horas (hh: mm: ss [ap] m)
  • % t tempo, 24 horas (hh: mm: ss)
  • % s segundos (00 …… 59)
  • % p am ou pm
  • % w O número de dias em uma semana (0 = domingo …… 6 = sábado)
  • % u semana (0 …… 52), onde domingo é o primeiro dia da semana
  • %% personagem%

  O uso específico é o seguinte:

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

  Os resultados de execução específicos são os seguintes:

7. CURDATE()Retorne o valor da data atual no formato 'aaaa-mm-dd' ou aaaammdd (de acordo com o contexto do valor de retorno é uma string ou número), o uso específico é o seguinte :

select curdate();

  Os resultados de execução específicos são os seguintes:

8. O CURTIME()valor da hora atual é retornado no formato de 'hh: mm: ss' ou hhmmss (de acordo com o contexto do valor de retorno é uma string ou um número), a implementação específica é do seguinte modo:

select curtime();

  Os resultados de execução específicos são os seguintes:

9. NOW()Retorne a data e hora atuais no formato 'aaaa-mm-dd hh: mm: ss' ou aaaammddhhmmss (de acordo com o contexto do valor de retorno é uma string ou um número) , a implementação específica é a seguinte:

select now(); 

  Os resultados de execução específicos são os seguintes:

10. DATEDIFF(expr1,expr2)Retorne o número de dias entre a data de término expr1 e a data de início expr2, e a implementação específica é a seguinte:

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

  Os resultados de execução específicos são os seguintes:

11. UNIX_TIMESTAMP()Retorne um carimbo de data / hora unix (o número de segundos desde '1970-01-01 00:00:00', data padrão para a hora atual), a implementação específica é a seguinte:

select unix_timestamp();

  Os resultados específicos da implementação são os seguintes:

  Claro, também podemos unix_timestamp()incluir a data, da seguinte forma:

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

  Os resultados de execução específicos são os seguintes:

12. FROM_UNIXTIME(unix_timestamp)O valor do carimbo de data / hora é retornado no formato 'aaaa-mm-dd hh: mm: ss' ou aaaammddhhmmss (de acordo com o contexto do valor de retorno é uma string ou um número ), a implementação específica é a seguinte:

select from_unixtime(1577808000);

  Os resultados específicos da implementação são os seguintes:

  consultar a data de validade de cada funcionário (o período de avaliação é de três meses): nomedemp, contratado, data de expiração da avaliação

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

  A implementação específica é a seguinte:

Quarto, a função de conversão

1. É CAST(expression AS data_type)usado para converter explicitamente uma expressão de um certo tipo de dados em outro tipo de dados. O parâmetro da função CAST () é uma expressão, que inclui o valor de origem e o tipo de dados de destino separados pela palavra-chave AS, o específico os parâmetros são os seguintes:

  • expressão : qualquer expressão SQL válida.
  • AS : usado para separar dois parâmetros, antes de AS são os dados a serem processados ​​e depois de AS são os tipos de dados a serem convertidos.
  • data_type : os tipos de dados fornecidos pelo sistema de destino, incluindo bigint e sql_variant, não podem usar tipos de dados definidos pelo usuário.

  Os tipos que podem ser convertidos são os seguintes:

  • Binário, com o efeito do prefixo binário: BINÁRIO
  • Tipo de caractere, com parâmetros: CHAR ()
  • Data: DATE
  • Horário: TIME
  • Tipo de data e hora: DATETIME
  • Número de ponto flutuante: DECIMAL
  • Inteiro: SIGNED
  • Inteiro sem sinal: UNSIGNED

  A implementação específica é a seguinte:

select cast('9.0' AS decimal);

  Os resultados específicos da implementação são os seguintes:

Cinco, função agrupar e mesclar

GROUP_CANCAT([distinct] str [order by str asc/desc] [separator])Concatene os valores no mesmo grupo produzidos por group by e retorne um resultado de string. O uso específico é o seguinte:

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

  Os resultados específicos da implementação são os seguintes:

Seis, função lógica

1. IFNULL(expression, alt_value)Determine se a primeira expressão é NULL, se for NULL, retorne o valor do segundo parâmetro, se não for NULL, retorne o valor do primeiro parâmetro. O uso específico é o seguinte:

select ifnull(comm,0) from emp;

  Os resultados de execução específicos são os seguintes:

2. IF(expr1,expr2,expr3)Se o valor de expr1 for verdadeiro, o valor de expr2 será retornado, e se o valor de expr1 for falso, o valor de expr3 será retornado. , A implementação específica é a seguinte:

-- 查询每位员工的工资级别: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; 

  Os resultados de execução específicos são os seguintes:


3. CASE WHEN expr1 THEN expr2 [WHEN expr3 THEN expr4...ELSE expr] ENDSe o valor de expr1 for verdadeiro, o valor de expr2 será retornado, e se o valor de expr3 for falso, o valor de expr4 será retornado. A implementação específica é a seguinte:

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

  Os resultados específicos da execução são os seguintes: a

  última parte é a função janela, mas é mais crítica, iremos apresentá-la em detalhes no próximo artigo.

Resumindo

  O último artigo apresentou consultas de junção de várias tabelas e consultas aninhadas , incluindo junções internas e junções externas, e também introduziu o uso de subconsultas, incluindo palavras-chave como in e any. Por fim, os pontos de conhecimento desta parte são explicados por meio de casos. Este artigo apresenta algumas funções comumente usadas no MySQL, incluindo funções matemáticas, funções de string, funções de data e hora, funções de agrupamento e fusão, funções lógicas e funções de janelas. Mas a função da janela é muito importante, iremos apresentá-la separadamente no próximo artigo. Além disso, também introduzimos vários usos desta função por meio de casos. Portanto, mysql é uma habilidade muito importante.Quase todos os trabalhos no computador precisam de uma habilidade mysq.Portanto, precisamos de um domínio especial. A vida é infinita e a luta é infinita.Trabalhamos muito todos os dias, estudamos muito, melhoramos constantemente nossas habilidades e acreditamos que aprenderemos algo. Vamos! ! !

Acho que você gosta

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