English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MySQL possui muitas funções integradas. A seguir está uma descrição dessas funções.
Função | Descrição | Exemplo |
---|---|---|
ASCII(s) | Retorna o código ASCII do primeiro caractere da string s. | Retorna o código ASCII da primeira letra do campo CustomerName: SELECT ASCII(CustomerName) como NumCodeOfFirstChar FROM Customers; |
CHAR_LENGTH(s) | Retorna o número de caracteres da string s | Retorna a string w3Número de caracteres do codebox SELECT CHAR_LENGTH(\3codebox) como LengthOfString; |
CHARACTER_LENGTH(s) | Retorna o número de caracteres da string s | Retorna a string w3Número de caracteres do codebox SELECT CHARACTER_LENGTH(\3codebox) como LengthOfString; |
CONCAT(s1,s2...sn) | 字符串 s1,s2 Muitas strings combinadas em uma string | Combinação de várias strings SELECT CONCAT(\3codebox ", \ |
CONCAT_WS(x, s1,s2...sn) | CONCAT(s1,s2Função, mas cada string deve ser separada por x, que pode ser um delimitador | 合并多个字符串,并添加分隔符: SELECT CONCAT_WS("-", "SQL", "Tutorial", "is", "fun!")AS ConcatenatedString; |
FIELD(s,s1,s2...) | 返回第一个字符串 s 在字符串列表(s1,s2...)中的位置 | 返回字符串 c 在列表值中的位置: SELECT FIELD("c", "a", "b", "c", "d", "e"); |
FIND_IN_SET(s1,s2) | 返回在字符串s2中与s1匹配的字符串的位置 | 返回字符串 c 在指定字符串中的位置: SELECT FIND_IN_SET("c", "a,b,c,d,e"); |
FORMAT(x,n) | 函数可以将数字 x 进行格式化 "#,###.##", 将 x 保留到小数点后 n 位,最后一位四舍五入。 | 格式化数字 "#,###.##" 形式: SELECT FORMAT(250500.5634, 2); -- 输出 250,500.56 |
INSERT(s1,x,len,s2) | 字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串 | 从字符串第一个位置开始的 6 个字符替换为 w3codebox: SELECT INSERT("google.com", 1, 6, "w3codebox"); -- 输出:oldtoolbag.com |
LOCATE(s1,s) | IN s)1 Obter s | 获取 b 在字符串 abc 中的位置: SELECT LOCATE('st','myteststring'); -- 5 início da string SELECT LOCATE('b', 'abc') -- 2 |
LCASE(s) | 将字符串 s 的所有字母变成小写字母 | 字符串 w3codebox 转换为小写: SELECT LCASE('w3codebox') -- w3codebox |
LEFT(s,n) | 返回字符串 s 的前 n 个字符 | Retorna a string w3codebox 中的前两个字符: SELECT LEFT('w3codebox',2) -- ru |
LOWER(s) | 将字符串 s 的所有字母变成小写字母 | 字符串 w3codebox 转换为小写: SELECT LOWER('w3codebox') -- w3codebox |
LPAD(s1,len,s2) | na string s1 的开始处填充字符串 s2,使字符串长度达到 len | 将字符串 xx 填充到 abc 字符串的开始处: SELECT LPAD('abc',5,'xx') -- xxabc |
LTRIM(s) | 去掉字符串 s 开始处的空格 | Remover os espaços em branco no início e no final da string w3codebox开始处的空格: SELECT LTRIM(" w3codebox") AS LeftTrimmedString;-- w3codebox |
codebox") AS LeftTrimmedString; | MID(s,n,len) | da string w3codebox na posição 2 posição(s) de corte 3caractere(s): Extrair uma substringa de comprimento len a partir da posição n da string s, equivalente a SUBSTRING(s,n,len)3codebox", 2, 3) AS ExtractString; -- UNO |
SELECT MID("w1 POSITION(s | IN s)1 Obter s | início da string Retorna a posição de b na string abc: -- 2 |
SELECT POSITION('b' in 'abc') | REPEAT(s,n) | Converter a string w3Repetir a string s n vezes codebox três vezes:3codebox',3) -- w3SELECT REPEAT('w3SELECT REPEAT('w3codebox |
codeboxw1,s2) | REPLACE(s,s2 Substituir a string s1 | Substituir o caractere a pela letra x na string abc: SELECT REPLACE('abc','a','x') --xbc |
REVERSE(s) | Inverter a ordem da string s | Inverter a ordem da string abc: SELECT REVERSE('abc') -- cba |
RIGHT(s,n) | Retorna os últimos n caracteres da string s | Retorna a string w3codebox últimos dois caracteres: SELECT RIGHT('w3codebox',2) -- ob |
RPAD(s1,len,s2) | na string s1 Adicionar a string s2para que o comprimento da string atinja len | Preencher a string xx até o final da string abc: SELECT RPAD('abc',5,'xx') -- abcxx |
RTRIM(s) | Remover os espaços no final da string s | Remover os espaços em branco no início e no final da string w3codebox ao final: SELECT RTRIM("w3codebox ") AS RightTrimmedString; -- w3codebox |
SPACE(n) | Retorna n espaços | Retorna 10 Quantidade de espaços: SELECT SPACE(10); |
STRCMP(s1,s2) | Comparar strings s1 e s2,se s1 com s2 retorna 0, se s1>s2 Retorna 1,se s1<s2 Retorna -1 | Comparar strings: SELECT STRCMP("w3codebox", "w3codebox"); -- 0 |
SUBSTR(s, start, length) | Extrair uma substringa de comprimento length a partir da posição start da string s | da string w3codebox na posição 2 posição(s) de corte 3caractere(s): SELECT SUBSTR("w3codebox", 2, 3) AS ExtractString; -- UNO |
SUBSTRING(s, start, length) | Extrair uma substringa de comprimento length a partir da posição start da string s | da string w3codebox na posição 2 posição(s) de corte 3caractere(s): SELECT SUBSTRING("w3codebox", 2, 3) AS ExtractString; -- UNO |
SUBSTRING_INDEX(s, delimiter, number) | Retorna a substring a partir da aparição number-ésima do delimitador delimiter na string s. Se number for positivo, retorna a string à esquerda do caractere number. Se number for negativo, retorna a string à direita do caractere (number de absoluta, contando da direita para a esquerda). | SELECT SUBSTRING_INDEX('a*b','*',1) -- a SELECT SUBSTRING_INDEX('a*b','*',-1) -- b SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('a*b*c*d*e','*',3),'*',-1) -- c |
TRIM(s) | Remover os espaços em branco no início e no final da string s | Remover os espaços em branco no início e no final da string w3codebox com espaços em branco no início e no final: SELECT TRIM(' w3codebox ') AS TrimmedString; |
UCASE(s) | Converter a string para maiúsculas | Converter a string w3codebox convertida para maiúsculas: SELECT UCASE("w3codebox"); -- w3codebox |
UPPER(s) | Converter a string para maiúsculas | Converter a string w3codebox convertida para maiúsculas: SELECT UPPER("w3codebox"); -- w3codebox |
Nome da função | Descrição | Exemplo |
---|---|---|
ABS(x) | Retorna o valor absoluto de x | Retorna -1 do valor absoluto: SELECT ABS(-1) -- Retorna1 |
ACOS(x) | Calcular o valor do arco cosseno inverso de x (parâmetro é radiano) | SELECT ACOS(0.25); |
ASIN(x) | Calcular o valor do arco seno (parâmetro é radiano) | SELECT ASIN(0.25); |
ATAN(x) | Calcular o valor do arco cosseno (parâmetro é radiano) | SELECT ATAN(2.5); |
ATAN2(n, m) | Calcular o valor do arco cosseno (parâmetro é radiano) | SELECT ATAN2(-0.8, 2); |
AVG(expression) | Retorna a média de uma expressão, expression é um campo | Retorna a média do campo Price na tabela Products: SELECT AVG(Price) AS AveragePrice FROM Products; |
CEIL(x) | Retorna o menor inteiro maior ou igual a x | SELECT CEIL(1.5) -- Retorna2 |
CEILING(x) | Retorna o menor inteiro maior ou igual a x | SELECT CEILING(1.5); -- Retorna2 |
COS(x) | Calcular o valor do cosseno (parâmetro é radiano) | SELECT COS(2); |
COT(x) | calcula o cotangente (parâmetro em radianos) | SELECT COT(6); |
COUNT(expression) | Retorna o número total de registros da consulta, o parâmetro expression é um campo ou * número | Retorna o número total de registros do campo products na tabela Products: SELECT COUNT(ProductID) AS NumberOfProducts FROM Products; |
DEGREES(x) | converte radianos para graus | SELECT DEGREES(3.1415926535898) -- 180 |
n DIV m | divisão inteira, n é o dividendo, m é o divisor | Calcula 10 dividido por 5: SELECT 10 DIV 5; -- 2 |
EXP(x) | Retorna o e elevado à x | Calcula o cubo de e: SELECT EXP(3) -- 20.085536923188 |
FLOOR(x) | Retorna o maior inteiro menor ou igual a x | menor ou igual a 1.5 do inteiro: SELECT FLOOR(1.5) -- Retorna1 |
GREATEST(expr1, expr2, expr3, ...) | Retorna o maior valor da lista | Retorna o maior valor da lista de números a seguir: SELECT GREATEST(3, 12, 34, 8, 25); -- 34 Retorna o maior valor da lista de strings a seguir: SELECT GREATEST("Google", "w3codebox", "Apple"); -- w3codebox |
LEAST(expr1, expr2, expr3, ...) | Retorna o menor valor da lista | Retorna o menor valor da lista de números a seguir: SELECT LEAST(3, 12, 34, 8, 25); -- 3 Retorna o menor valor da lista de strings a seguir: SELECT LEAST("Google", "w3codebox", "Apple"); -- Apple |
LN | Retorna o logaritmo natural do número, com base e. | Retorna 2 do logaritmo natural: SELECT LN(2); -- 0.6931471805599453 |
LOG(x) ou LOG(base, x) | Retorna o logaritmo natural (logaritmo com base e), se fornecido o parâmetro base, então base é o número especificado com base. | SELECT LOG(20.085536923188) -- 3 SELECT LOG(2, 4); -- 2 |
LOG10(x) | Retorna o logaritmo com base 10 do logaritmo com base | SELECT LOG10(100) -- 2 |
LOG2(x) | Retorna o logaritmo com base 2 do logaritmo com base | Retorna o logaritmo com base 2 com base 6 do logaritmo: SELECT LOG2(6); -- 2.584962500721156 |
MAX(expression) | Retorna o valor máximo do campo expression | Retorna o valor máximo do campo Price na tabela de dados Products: SELECT MAX(Price) AS LargestPrice FROM Products; |
MIN(expression) | Retorna o valor mínimo do campo expression | Retorna o valor mínimo do campo Price na tabela de dados Products: SELECT MIN(Price) AS MinPrice FROM Products; |
MOD(x,y) | retorna o resto da divisão de x por y | 5 dividido por 2 o resto: SELECT MOD(5,2) -- 1 |
PI() | retorna o número pi (π)3.141593) | SELECT PI() --3.141593 |
POW(x,y) | retorna x elevado à y potência | 2 de 3 potência: SELECT POW(2,3) -- 8 |
POWER(x,y) | retorna x elevado à y potência | 2 de 3 potência: SELECT POWER(2,3) -- 8 |
RADIANS(x) | converter ângulos para radianos | 180 graus convertidos para radianos: SELECT RADIANS(180) -- 3.1415926535898 |
RAND() | retorna um número aleatório entre 1 um número aleatório | SELECT RAND() --0.93099315644334 |
ROUND(x) | retorna o inteiro mais próximo de x | SELECT ROUND(1.23456) --1 |
SIGN(x) | retorna o sinal de x, x é negativo, 0, positivo respectivamente -1e 0 e 1 | SELECT SIGN(-10) -- (-1) |
SIN(x) | calcular o valor seno (o parâmetro é radiano) | SELECT SIN(RADIANS(30)) -- 0.5 |
SQRT(x) | retorna a raiz quadrada de x | 25 a raiz quadrada: SELECT SQRT(25) -- 5 |
SUM(expressão) | retorna a soma do campo especificado | calcular a soma do campo Quantity na tabela OrderDetails: SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails; |
TAN(x) | calcular o valor tangente (o parâmetro é radiano) | SELECT TAN(1.75); -- -5.52037992250933 |
TRUNCATE(x,y) | retorna o valor numérico x arredondado para y casas decimais (a maior diferença com ROUND é que não faz arredondamento) | SELECT TRUNCATE(1.23456,3) -- 1.234 |
Nome da função | Descrição | Exemplo |
---|---|---|
ADDDATE(d,n) | calcular a data de início d adicionada n dias | SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY); ->2017-06-25 |
ADDTIME(t,n) | n é uma expressão de tempo, a expressão de tempo t adicionada à expressão de tempo n | adicionar 5 segundos: SELECT ADDTIME('2011-11-11 11:11:11', 5); ->2011-11-11 11:11:16 (秒) adicionar 2 horas, 10 minutos, 5 segundos: SELECT ADDTIME("2020-06-15 09:34:21", "2:10:5); -> 2020-06-15 11:44:26 |
CURDATE() | retorna a data atual | SELECT CURDATE(); -> 2018-09-19 |
CURRENT_DATE() | retorna a data atual | SELECT CURRENT_DATE(); -> 2018-09-19 |
CURRENT_TIME | Retorna a hora atual | SELECT CURRENT_TIME(); -> 19:59:02 |
CURRENT_TIMESTAMP() | 返回当前日期和时间 | SELECT CURRENT_TIMESTAMP(); -> 2018-09-19 20:57:43 |
CURTIME() | Retorna a hora atual | SELECT CURTIME(); -> 19:59:02 |
DATE() | Extrair o valor da data de uma expressão de data ou data e hora | SELECT DATE('2017-06-15); -> 2017-06-15 |
DATEDIFF(d1,d2) | Calcular a data d1->d2 entre os dias | SELECT DATEDIFF('2001-01-01','2001-02-02") -> -32 |
DATE_ADD(d, INTERVAL expr type) | Calcular a data de início d mais um período de tempo | SELECT ADDDATE('2011-11-11 11:11:11',1) -> 2011-11-12 11:11:11 (默认是天) SELECT ADDDATE('2011-11-11 11:11:11', INTERVAL 5 MINUTO) -> 2011-11-11 11:16:11 (Os valores do TYPE são semelhantes aos da função listada acima) |
DATE_FORMAT(d,f) | Exibir a data d conforme a expressão f | SELECT DATE_FORMAT('2011-11-11 11:11:11','%Y-%m-%d %r') -> 2011-11-11 11:11:11 AM |
DATE_SUB(date,INTERVAL expr type) | A função subtrai o intervalo de tempo especificado da data. | O campo OrderDate da tabela Orders subtraído 2 dias: SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 2 DAY) AS OrderPayDate FROM Orders |
DAY(d) | Retorna a parte da data da data d | SELECT DAY('2017-06-15); -> 15 |
DAYNAME(d) | Retorna qual dia da semana é a data d, como Monday,Tuesday | SELECT DAYNAME('2011-11-11 11:11:11") ->Friday |
DAYOFMONTH(d) | Calcular o dia do mês da data d | SELECT DAYOFMONTH('2011-11-11 11:11:11") ->11 |
DAYOFWEEK(d) | A data d é qual dia da semana hoje,1 Domingo,2 Segunda-feira, em seguida, | SELECT DAYOFWEEK('2011-11-11 11:11:11") ->6 |
DAYOFYEAR(d) | Calcular o dia do ano da data d | SELECT DAYOFYEAR('2011-11-11 11:11:11") ->315 |
EXTRACT(type FROM d) | Obter o valor especificado da data d, o tipo especifica o valor retornado. O tipo pode ser:
| SELECT EXTRACT(MINUTE FROM '2011-11-11 11:11:11") -> 11 |
FROM_DAYS(n) | calcular a data a partir de 0000 ano 1 月 1 data começa n dias após | SELECT FROM_DAYS(1111) -> 0003-01-16 |
HOUR(t) | retorna o valor da hora em t | SELECT HOUR('1:2:3") -> 1 |
LAST_DAY(d) | retorna o último dia do mês para a data fornecida | SELECT LAST_DAY("2017-06-20"); -> 2017-06-30 |
LOCALTIME() | 返回当前日期和时间 | SELECT LOCALTIME() -> 2018-09-19 20:57:43 |
LOCALTIMESTAMP() | 返回当前日期和时间 | SELECT LOCALTIMESTAMP() -> 2018-09-19 20:57:43 |
MAKEDATE(ano, dia-de-year) | com base no ano fornecido como parâmetro year e no número de ordem do dia do ano-de-ano retorna uma data | SELECT MAKEDATE(2017, 3); -> 2017-01-03 |
MAKETIME(hora, minuto, segundo) | composição de tempo, os parâmetros são hora, minuto, segundo | SELECT MAKETIME(11, 35, 4); -> 11:35:04 |
MICROSECOND(data) | retorna o número de microsegundos correspondente ao parâmetro de data | SELECT MICROSECOND("2017-06-20 09:34:00.000023); -> 23 |
MINUTE(t) | retorna o valor do minuto em t | SELECT MINUTE('1:2:3") -> 2 |
MONTHNAME(d) | retorna o nome do mês da data, como Novembro | SELECT MONTHNAME('2011-11-11 11:11:11") -> Novembro |
MONTH(d) | retorna o valor do mês da data d,1 até 12 | SELECT MONTH('2011-11-11 11:11:11") ->11 |
NOW() | 返回当前日期和时间 | SELECT NOW() -> 2018-09-19 20:57:43 |
PERIOD_ADD(período, número) | para ano-composição de mês de data adiciona um período | SELECT PERIOD_ADD(201703, 5); -> 201708 |
PERIOD_DIFF(período1, período2) | retorna a diferença de meses entre dois períodos | SELECT PERIOD_DIFF(201710, 201703); -> 7 |
QUARTER(d) | a data d pertence a qual estação do ano, retorna 1 até 4 | SELECT QUARTER('2011-11-11 11:11:11") -> 4 |
SECOND(t) | 返回 t 中的秒钟值 | SELECT SECOND('1:2:3") -> 3 |
SEC_TO_TIME(s) | 将以秒为单位的时间 s 转换为时分秒的格式 | SELECT SEC_TO_TIME(4320) -> 01:12:00 |
STR_TO_DATE(string, format_mask) | 将字符串转变为日期 | SELECT STR_TO_DATE("August 10 2017", "%M %d %Y"); -> 2017-08-10 |
SUBDATE(d,n) | 日期 d 减去 n 天后的日期 | SELECT SUBDATE('2011-11-11 11:11:11', 1) ->2011-11-10 11:11:11 (默认是天) |
SUBTIME(t,n) | 时间 t 减去 n 秒的时间 | SELECT SUBTIME('2011-11-11 11:11:11', 5) ->2011-11-11 11:11:06 (秒) |
SYSDATE() | 返回当前日期和时间 | SELECT SYSDATE() -> 2018-09-19 20:57:43 |
TIME(expression) | 提取传入表达式的时间部分 | SELECT TIME('19:30:10); -> 19:30:10 |
TIME_FORMAT(t,f) | 按表达式 f 的要求显示时间 t | SELECT TIME_FORMAT('11:11:11('%r') 11:11:11 AM |
TIME_TO_SEC(t) | 将时间 t 转换为秒 | SELECT TIME_TO_SEC('1:12:00') -> 4320 |
TIMEDIFF(time1, time2) | 计算时间差值 | SELECT TIMEDIFF("13:10:11", "13:10:10); -> 00:00:01 |
TIMESTAMP(expression, interval) | 单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和 | SELECT TIMESTAMP("2017-07-23", "13:10:11); -> 2017-07-23 13:10:11 |
TO_DAYS(d) | 计算日期 d 距离 0000 年 1 月 1 日的天数 | SELECT TO_DAYS('0001-01-01 01:01:01") -> 366 |
WEEK(d) | 计算日期 d 是本年的第几个星期,范围是 0 到 53 | SELECT WEEK('2011-11-11 11:11:11") -> 45 |
WEEKDAY(d) | 日期 d 是星期几,0 表示星期一,1 表示星期二 | SELECT WEEKDAY("2017-06-15); -> 3 |
WEEKOFYEAR(d) | 计算日期 d 是本年的第几个星期,范围是 0 到 53 | SELECT WEEKOFYEAR('2011-11-11 11:11:11") -> 45 |
YEAR(d) | 返回年份 | SELECT YEAR("2017-06-15); -> 2017 |
YEARWEEK(date, mode) | 返回年份及第几周(0到53),mode 中 0 表示星期天,1representa segunda-feira, por exemplo. | SELECT YEARWEEK("2017-06-15); -> 201724 |
Nome da função | Descrição | Exemplo |
---|---|---|
BIN(x) | retorna o código binário de x | 15 de 2 código de bases: SELECT BIN(15); -- 1111 |
BINARY(s) | Converte a string s em uma string binária | SELECT BINARY "w3codebox"; -> w3codebox |
CASE expressão QUANDO condition1 ENTÃO result1 QUANDO condition2 ENTÃO result2 ... QUANDO conditionN ENTÃO resultN ELSE result FIM | CASE indica o início da função, END indica o fim da função. Se condition1 verdadeira, então retorne result1, se condition2 verdadeira, então retorne result2Se todas não forem verdadeiras, retorne result, e se uma for verdadeira, as seguintes não serão executadas. | SELECT CASE QUANDO 1 > 0 ENTÃO '1 > 0' QUANDO 2 > 0 ENTÃO '2 > 0' ELSE '3 > 0' FIM ->1 > 0 |
CAST(x AS type) | Conversão de tipo de dados | Conversão de data de string para data: SELECT CAST("2017-08-29" AS DATE); -> 2017-08-29 |
COALESCE(expr1, expr2, ..., expr_n) | retorna a primeira expressão não nula dos parâmetros (da esquerda para a direita) | SELECT COALESCE(NULL, NULL, NULL, 'oldtoolbag.com, NULL, 'google.com'); -> oldtoolbag.com |
CONNECTION_ID() | Retorna um ID de conexão único | SELECT CONNECTION_ID(); -> 4292835 |
CONV(x,f1,f2) | retorna f1 o número decimal para f2 número decimal | SELECT CONV(15, 10, 2); -> 1111 |
CONVERT(s USING cs) | A função converte o conjunto de caracteres da string s para cs | SELECT CHARSET('ABC') -> utf-8 SELECT CHARSET(CONVERT('ABC' USING gbk)) -> gbk |
CURRENT_USER() | Retorna o usuário atual | SELECT CURRENT_USER(); -> guest@% |
DATABASE() | Retorna o nome do banco de dados atual | SELECT DATABASE(); -> w3codebox |
IF(expr,v1,v2) | Se a expressão expr for verdadeira, retorne o resultado v1;caso contrário, retorne o resultado v2. | SELECT IF(1 0, 'correto', 'errado') ->Correto |
IFNULL(v1,v2) | Se v1 Se o valor de v não for NULL, retorna v1,caso contrário retorna v2. | SELECT IFNULL(null,'Hello Word') ->Hello Word |
ISNULL(expression) | Determina se a expressão é NULL | SELECT ISNULL(NULL); ->1 |
LAST_INSERT_ID(); | Retorna o valor AUTO_INCREMENT mais recente gerado | SELECT LAST_INSERT_ID(); ->6 |
NULLIF(expr1, expr2) | Comparar duas strings, se a string expr1 com expr2 Retorna NULL se igual, caso contrário retorna expr1 | SELECT NULLIF(25, 25); -> |
SESSION_USER(); | Retorna o usuário atual | SELECT SESSION_USER(); -> guest@% |
SYSTEM_USER(); | Retorna o usuário atual | SELECT SYSTEM_USER(); -> guest@% |
USER(); | Retorna o usuário atual | SELECT USER(); -> guest@% |
VERSION(); | Retorna o número da versão do banco de dados | SELECT VERSION(); -> 5.6.34 |