-
Notifications
You must be signed in to change notification settings - Fork 0
/
funcoes_SQL.sql
84 lines (48 loc) · 2.56 KB
/
funcoes_SQL.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/* REFERENCIAS COMPLETAS: https://www.w3schools.com/sql/sql_ref_mysql.asp */
=> LTRIM() 'remove os espaços iniciais de uma string.'
SELECT LTRIM(' OLÁ') AS RESULTADO;
SELECT LTRIM('OLÁ ') AS RESULTADO;
SELECT LTRIM(' OLÁ ') AS RESULTADO;
=> CONCAT() 'adiciona duas ou mais expressões juntas.'
SELECT CONCAT('OLÁ', ' ', 'TUDO BEM', '?') AS RESULTADO;
SELECT CONCAT(NOME, ' (', CPF, ') ') AS RESULTADO FROM tabela_de_clientes;
SELECT NOME, CONCAT(ENDERECO_1, ' ', BAIRRO, ' ', CIDADE, ' ', ESTADO) AS COMPLETO FROM tabela_de_clientes;
=> UPPER() 'converte uma string em letras maiúsculas.'
SELECT UPPER('ola, tudo bem?') AS RESULTADO;
=> SUBSTRING() 'extrai uma substring de uma string (começando em qualquer posição).'
SELECT SUBSTRING('OLÁ, TUDO BEM?', 5) AS RESULTADO;
SELECT SUBSTRING('OLÁ, TUDO BEM?', 6, 4) AS RESULTADO;
/* FUNÇÕES DE DATA: */
=>ADDDATE() 'adiciona um intervalo de data/hora a uma data e, em seguida, retorna a data.'
=> CURDATE() 'retorna a data atual'
SELECT CURDATE();
=> CURRENT_TIME() 'retorna a hora atuaL.'
SELECT CURRENT_TIME();
=> CURRENT_TIMESTAMP() 'retorna a data e hora atuais.'
SELECT CURRENT_TIMESTAMP();
/* VARIAÇÕES: */
SELECT YEAR(current_timestamp());
SELECT DAY(current_timestamp());
SELECT MONTH(current_timestamp());
SELECT MONTHNAME(current_timestamp());
SELECT DATEDIFF(current_timestamp(), '2022-12-27') AS RESULTADO;
SELECT DATEDIFF(current_timestamp(), '1983-09-29') AS RESULTADO;
SELECT DISTINCT DATA_VENDA, DAYNAME(DATA_VENDA) AS DIA, MONTHNAME(DATA_VENDA) AS MES, YEAR(DATA_VENDA) AS ANO FROM NOTAS_FISCAIS;
SELECT NOME, TIMESTAMPDIFF (YEAR, DATA_DE_NASCIMENTO, CURDATE()) AS IDADE FROM tabela_de_clientes;
/* FUNÇÕES MATEMATICAS */
=> ABS() 'retorna o valor absoluto (positivo) de um número.'
SELECT (23+((25-2)/2)*45) AS RESULTADO;
=> CEILING() 'retorna o menor valor inteiro maior ou igual a um número.'
SELECT CEILING(12.3333335554452) AS RESULTADO;
=> ROUND() 'arredonda um número para um número especificado de casas decimais.'
SELECT ROUND(12.3333335554452) AS RESULTADO;
=> FLOOR() 'retorna o maior valor inteiro menor ou igual a um número.'
SELECT FLOOR(12.3333335554452) AS RESULTADO;
SELECT YEAR(DATA_VENDA), FLOOR(SUM(IMPOSTO * (QUANTIDADE * PRECO)))
FROM notas_fiscais NF
INNER JOIN itens_notas_fiscais INF ON NF.NUMERO = INF.NUMERO
WHERE YEAR(DATA_VENDA) = 2016
GROUP BY YEAR(DATA_VENDA);
=> RAND() 'retorna um número aleatório entre 0 (inclusivo) e 1 (exclusivo).'
SELECT RAND() AS RESULTADO;
SELECT NUMERO, QUANTIDADE, PRECO, ROUND(QUANTIDADE * PRECO, 3) FROM itens_notas_fiscais;