MySQL - funções comumente usadas no mysql

1. A função matemática
ABS (x) retorna o valor absoluto de x
O BIN (x) devolve o binário x OCT (octal retorno, HEX retornos hexadecimal)
TECTO (x) devolve o menor maior número inteiro de x
a EXP (x) devolve o valor de e (logaritmo natural do fundo) da potência de x
FLOOR (x) retorna o maior valor inteiro menor que x
GREATEST (x1, x2, ..., xn) retorna o maior valor no conjunto
LEAST (x1, x2, ..., xn) retorna o menor valor no conjunto
LN (x) Retorna o logaritmo natural de
x LOG (x, y) retorna o logaritmo de
x com base em MOD (x, y) retorna o módulo de x / y (restante)
PI () retorna o valor de pi (pi)
RAND () Retorna um valor aleatório de 0 a 1. Você pode fazer o gerador de números aleatórios RAND () gerar um valor especificado, fornecendo um parâmetro (semente).
ROUND (x, y) retorna o valor arredondado do parâmetro x com y casas decimais
SIGN (x) retorna o valor do sinal que representa o número x
SQRT (x) retorna a raiz quadrada de um número
TRUNCATE (x, y) retorna o número x truncado y decimal coloca o resultado das

duas, funções de agregação (vulgarmente utilizados na cláusula GROUP BY da consulta SELECT)
o AVG (COL) retorna a coluna especificada valor médio
COUNT (col) devolve o número de colunas dos especificado valor não nulo
MIN (col) retorna O valor mínimo da coluna especificada
MAX (col) retorna o valor máximo da coluna especificada
SUM (col) devolve todos os valores da coluna e
GROUP_CONCAT (COL) está conectado por um resultado de retorno valores de colunas pertence a um grupo de uma combinação dos

três, funções de caracteres
ASCII (char) devolve o valor ASCII
Retorna (str) BIT_LENGTH O comprimento do bit da cadeia
CONCAT (s1, s2 ..., sn) conecta s1, s2 ..., sn à cadeia
CONCAT_WS (sep, s1, s2 ..., sn) será s1, s2 ... Sn é conectado a uma string e o intervalo de caracteres sep
INSERT (str, x, y, instr) para substituir a string str da posição x, a substring de caracteres y é substituída pela string instr, retorna o resultado
FIND_IN_SET (str, list ) Analise a lista de listas separada por vírgulas, se str for encontrado, retorne a posição de str na lista
LCASE (str) ou LOWER (str) retornará o resultado da alteração de todos os caracteres na string str para
caracteres de retorno LEFT (str, x) em minúsculas Os caracteres x mais à esquerda na
string str LENGTH (s) retornam o número de caracteres na string str
LTRIM (str) corta o espaço inicial da string str
POSITION (substr, str) retorna o substring de substring na string str A primeira posição de ocorrência
QUOTE (str) escapa as aspas simples em str com uma barra invertida
REPEAT (str, srchstr, rplcstr) retorna o resultado da sequência str repetida x vezes
REVERSE (str) retorna o resultado da reversão da string str
RIGHT (str, x) retorna os caracteres x mais à direita na string str.
RTRIM (str) retorna o espaço no final da string str.
STRCMP (s1, s2) compara as strings s1 e s2.
TRIM (str) remove o início e o fim da string Todos os espaços
UCASE (STR) ou superior (str) retorna a string str em todos os caracteres em letras maiúsculas o resultado

quarto lugar, data e hora funções
CURDATE () ou CURRENT_DATE () retorna a data atual
CURTIME () ou CURRENT_TIME () Retorna a hora atual
DATE_ADD (data, INTERVAL int palavra-chave) retorna o resultado da data data mais o intervalo int (int deve ser formatado de acordo com a palavra-chave), como: SELECTDATE_ADD (CURRENT_DATE, INTERVAL 6 MONTH);
DATE_FORMAT (data, fmt) Formate o valor da data e data de acordo com o formato fmt especificado
DATE_SUB (data, INTERVAL int palavra-chave) retorna o resultado da data data mais o intervalo int (int deve ser formatado de acordo com a palavra-chave), como: SELECTDATE_SUB (CURRENT_DATE, INTERVAL 6 MONTH);
DAYOFWEEK (data) retorna o dia da semana representado pela data (1 ~ 7)
DAYOFMONTH (data) retorna o dia do mês (1 ~ 31)
DAYOFYEAR (data) retorna o dia do ano Alguns (1-366)
DAYNAME (data) retorna o dia da semana para a data, como: SELECT DAYNAME (CURRENT_DATE);
FROM_UNIXTIME (ts, fmt) formata o registro de data e hora do UNIX de acordo com o formato fmt especificado ts
HOUR (hora) retorna o valor da hora (0 ~ 23)
MINUTE (hora) retorna o valor minuto da hora (0 ~ 59)
MONTH (data) retorna o valor mensal da data (1 ~ 12)
MONTHNAME (data) retorna o nome do mês da data, como: SELECT MONTHNAME (CURRENT_DATE);
NOW () retorna A data e hora atuais
QUARTER (data) retornam o trimestre da data do ano (1 ~ 4), como SELECT QUARTER (CURRENT_DATE);
WEEK (date) retorna a data da data como a semana do ano (0 ~ 53)
ANO (date) Retorna a data do ano (1000 ~ 9999)
Alguns exemplos:
Obter a hora atual do sistema: SELECT FROM_UNIXTIME (UNIX_TIMESTAMP ());
SELECT EXTRACT (YEAR_MONTH FROM CURRENT_DATE);
SELECT EXTRACT (DAY_SECOND FROM CURRENT_DATE);
SELECT EXTRACT (HOUR_MIN) CURRENT_DATE);
Retorne a diferença entre dois valores de data (número de meses): SELECT PERIOD_DIFF (200302,199802);
calcule a idade no Mysql:
SELECT DATE_FORMAT (FROM_DAYS (TO_DAYS (NOW ()) - TO_DAYS (aniversário)), '% Y ') +0 COMO a idade do funcionário;
dessa forma, se Brithday for o ano, mês e dia futuros, o resultado do cálculo será 0.
A instrução SQL a seguir calcula a idade absoluta dos funcionários, ou seja, quando Birthday for uma data no futuro, você receberá um valor negativo.
SELECT DATE_FORMAT (NOW (), '% Y') - DATE_FORMAT (aniversário, '% Y') - (DATE_FORMAT (NOW (), '00 -% m-% d ') <DATE_FORMAT (aniversário, '00 -% m -% d ')) AS age from employee

5. A função de criptografia
AES_ENCRYPT (str, key) retorna o resultado da criptografia da string str com a chave key, usando o algoritmo avançado de criptografia padrão, e o resultado da chamada de AES_ENCRYPT é uma string binária. Armazenamento de tipo BLOB
AES_DECRYPT (str, key) retorna o resultado de decriptografar a string str com a chave key usando o algoritmo avançado de criptografia padrão
DECODE (str, key) usa a chave como chave para descriptografar o uso da string criptografada str
ENCRYPT (str, salt) A função UNIXcrypt () criptografa a string str com a palavra-chave salt (uma string que pode determinar exclusivamente a senha, como uma chave)
ENCODE (str, key) usa key como chave para criptografar a string str. O resultado da chamada de ENCODE () é uma string binária, armazenada no tipo BLOB
MD5 (). A soma de verificação MD5 da string str é calculada.
PASSWORD (str) retorna A versão criptografada da string str. Esse processo de criptografia é irreversível e usa um algoritmo diferente do processo de criptografia de senha do UNIX.
O SHA () calculado seqüência str Secure Hash Algorithm (SHA) soma de verificação
Exemplo:
Selecionar o ENCRYPT ( 'raiz', 'Salt');
Selecionar o ENCODE ( 'Xufeng', 'Key');
Selecionar o DECODE (o ENCODE ( ' xufeng ',' key '),' key '); # Adicione criptografia e descriptografia juntos
SELECT AES_ENCRYPT (' root ',' key ');
SELECT AES_DECRYPT (AES_ENCRYPT (' root ',' key '),' key ');
SELECT MD5 ('123456');
SELECT SHA ('123456');

Sexto, a função de fluxo de controle do
MySQL possui 4 funções para operações condicionais, essas funções podem implementar lógica condicional SQL, permitindo que os desenvolvedores convertam alguma lógica comercial de aplicativos no plano de fundo do banco de dados.
Função de fluxo de controle MySQL:
CASE WHEN [test1] THEN [resultado1] ... ELSE [padrão] END Se testN for verdadeiro, retorne resultN, caso contrário retorne padrão
CASO [teste] QUANDO [val1] ENTÃO [resultado] ... ELSE [padrão] END Se teste e valN forem iguais, retorne resultadoN, caso contrário, retorne padrão
IF (teste, t, f) Se o teste for verdadeiro, retorne t; caso contrário Retornar f
IFNULL (arg1, arg2) Se arg1 não estiver vazio, retorne arg1; caso contrário, retorne arg2
NULLIF (arg1, arg2) Se arg1 = arg2 retorne NULL; caso contrário, retorne arg1
A primeira dessas funções é IFNULL (), que possui dois Parâmetros e julgue o primeiro parâmetro. Se o primeiro parâmetro não for NULL, a função retornará o primeiro parâmetro para o chamador; se for NULL, o segundo parâmetro será retornado.
Como: SELECT IFNULL (1,2), IFNULL (NULL, 10), IFNULL (4 * NULL, 'false'); a
função NULLIF () verifica se os dois parâmetros fornecidos são iguais, se são iguais, e retorna NULL, Se eles não forem iguais, o primeiro parâmetro será retornado.
Tais como: SELECT NULLIF (1,1), NULLIF ('A', 'B'), NULLIF (2 + 3,4 + 1)
e a função IF () fornecida por muitas linguagens de script, a função IF () do MySQL Você também pode criar um teste condicional simples. Esta função possui três parâmetros. O primeiro é a expressão a ser avaliada. Se a expressão for verdadeira, IF () retornará o segundo parâmetro. Se for falso, IF () O terceiro parâmetro será retornado.
Tais como: SELECTIF (1 <10,2,3), IF (56> 100, 'verdadeiro', 'falso');
A função IF () é adequada para uso quando há apenas dois resultados possíveis. No entanto, no mundo real, podemos descobrir que várias ramificações são necessárias para testes condicionais. Nesse caso, o MySQL fornece a função CASE, que é a mesma que a rotina condicional de caso de comutação nas linguagens PHP e Perl.
O formato da função CASE é um pouco complicado, geralmente da seguinte forma:
CASE [expressão a ser avaliada]
WHEN [val 1] THEN [resultado 1]
WHEN [val 2] THEN [resultado 2]
WHEN [val 3] THEN [resultado 3]
. .....
WHEN [val n] THEN [resultado n]
ELSE [resultado padrão]
END
Aqui, o primeiro parâmetro é o valor ou expressão a ser julgada, seguido por uma série de blocos WHEN-THEN, cada um O primeiro parâmetro de um bloco especifica o valor a ser comparado e, se for verdadeiro, o resultado será retornado. Todos os blocos WHEN-THEN terminam com blocos ELSE Quando END termina todos os blocos CASE externos, se cada um dos blocos anteriores não corresponder, o resultado padrão especificado pelo bloco ELSE será retornado. Se nenhum bloco ELSE for especificado, e todas as comparações WHEN-THEN não forem verdadeiras, o MySQL retornará NULL.
A função CASE possui outra sintaxe, que às vezes é muito conveniente de usar, como a seguir:
CASE
WHEN [teste condicional 1] THEN [resultado 1]
WHEN [teste condicional 2] THEN [resultado 2]
ELSE [resultado padrão]
END
Sob essa condição, o resultado retornado depende se o teste de condição correspondente é verdadeiro.
Exemplo:
mysql> SELECT CASE 'green'
     WHEN 'red' THEN 'stop'
     WHEN 'green' THEN 'go' END;
SELECT CASE 9 WHEN 1 ENTÃO 'a' WHEN 2 THEN 2 b 'ELSE' N / A 'END;
SELECT CASE WHEN (2 + 2) = 4 THEN 'OK' WHEN (2 + 2) <> 4 THEN 'not OK' END ASSTATUS;
SELECT Name, IF ((IsActive = 1), 'ativado', 'inativo ') AS RESULT FROMUserLoginInfo;
SELECT fname, lname, (math + sci + lit) AS total,
CASE WHEN (math + sci + lit) <50 ENTÃO' D '
WHEN (math + sci + lit) ENTRE 50 E 150 ENTÃO' C '
QUANDO (matemática + sci + lit) ENTRE 151 E 250 ENTÃO' B '


Seleccione se (ENCRYPT ( 'Sue' , 'ts') = upass, 'permitir', 'negar') usuários AS LoginResultFROM ONDE = uname 'Sue'; # uma autenticação de login

VII formatação funções
DATE_FORMAT (data, FMT), de acordo com String fmt formato data valor da data
FORMAT (x, y) Formato x como uma sequência de números separados por vírgulas, y é o número de casas decimais no resultado
INET_ATON (ip) retorna o número do endereço IP, significa que
INET_NTOA (num) retorna o número Ela representa o endereço IP
TIME_FORMAT (tempo, FMT), de acordo com o texto de formato fmt tempo valor
que é o mais fácil a função Format (), que pode ser grandes sequências numéricas formatado para leitura separados por vírgulas.
Exemplo:
SELECT FORMAT (34234.34323432,3);
SELECT DATE_FORMAT (NOW (), '% W,% D% M% Y% r');
SELECT DATE_FORMAT (NOW (), '% Y-% m-% d') ;
SELECT DATE_FORMAT (19990330, '% Y-% m-% d');
SELECT DATE_FORMAT (NOW (), '% h:% i% p');
SELECT INET_ATON ('10 .122.89.47 ');



Para realizar a conversão do tipo de dados, o MySQL fornece a função CAST (), que pode converter um valor em um tipo de dados especificado. Os tipos são: BINARY, CHAR, DATE, TIME, DATETIME, ASSINADO, NÃO ASSINADO
Exemplo:
SELECT CAST (NOW () COMO INTEIRO ASSINADO), CURDATE () + 0;
SELECT 'f' = BINARY 'F', 'f' = CAST ('F' AS BINARY);

Nove, a função de informações do sistema
DATABASE () retorna o nome atual do banco de dados
BENCHMARK (count, expr) executará repetidamente a expressão expr count vezes
CONNECTION_ID () retorna o ID de conexão do cliente atual
FOUND_ROWS () retorna o último SELECT consulta para recuperar o número total de linhas
do usuário () ou SYSTEM_USER () retorna a logado no nome do usuário
versão () retorna a versão do servidor MySQL
exemplo:
o SELECT DATABASE (), versão (), o usuário ();
SELECTBENCHMARK (9999999, LOG (RAND () * PI ())); # Neste exemplo, o MySQL calcula a expressão LOG (RAND () * PI ()) 9999999 vezes.
Publicado 7 artigos originais · 69 elogios · mais de 200.000 visualizações

Acho que você gosta

Origin blog.csdn.net/u014320421/article/details/79814734
Recomendado
Clasificación