SQL FORMAT() é uma função embutida que é utilizada para formatar um valor com o formato especificado. A função FORMAT() é utilizada com valores de data/hora e valores numéricos. A função SQL FORMAT() formata o valor com o formato especificado (e uma cultura opcional no SQL Server 2017). Utiliza a função FORMAT() para formatar valores de data/hora e valores numéricos.
SQL Format Function
SQL Formata um valor formatado com o formato especificado e uma cultura opcional. Utilizar a função FORMAT() para formatação local de valores de data/hora e valores numéricos como cordas. Para conversões gerais do tipo de dados, usar CAST ou CONVERT.
Syntax
SELECT FORMAT (value, format, culture);
Parametros:
- Valor: Expressão que deve ser formatada.
- Formato: O padrão em que a expressão tem de ser formatada.
- Cultura: É inteiramente opcional; especifica a cultura.
Ver o seguinte exemplo.
DECLARE @d DATETIME = '28/10/2019'; SELECT FORMAT (@d, 'd', 'en-US') AS 'US English Result', FORMAT (@d, 'd', 'no') AS 'Norwegian Result', FORMAT (@d, 'd', 'zu') AS 'Zulu Result', FORMAT ( @d, 'd', 'en-gb' ) AS 'Great Britain English Result', FORMAT ( @d, 'd', 'de-de' ) AS 'German Result', FORMAT ( @d, 'd', 'zh-cn' ) AS 'Simplified Chinese (PRC) Result';
Ver a saída.
Exemplo 2:
Ver o seguinte código.
DECLARE @d DATETIME = '10/28/2019'; SELECT FORMAT ( @d, 'D', 'en-US' ) AS 'US English Result' ,FORMAT ( @d, 'D', 'en-gb' ) AS 'Great Britain English Result' ,FORMAT ( @d, 'D', 'de-de' ) AS 'German Result' ,FORMAT ( @d, 'D', 'zh-cn' ) AS 'Chinese (Simplified PRC) Result';
Ver a saída.
Vejamos os tipos de formato personalizados.
DECLARE @d DATETIME = GETDATE(); SELECT FORMAT( @d, 'dd/MM/yyyy', 'en-US' ) AS 'DateTime Result' ,FORMAT(123456789,'###-##-####') AS 'Custom Number Result';
Veja a saída.
#Formato de Data Exemplo
Neste exemplo, declarámos primeiro uma variável Datetime e atribuímos-lhe GETDATE(). Aqui, vamos utilizar a função Formatar para devolver a data em diferentes formatos.
Ver o seguinte exemplo de código.
DECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'd', 'en-US' ) AS 'Result 1', FORMAT(@Vardate, 'D', 'en-US' ) AS 'Result 2'SELECT FORMAT(@Vardate, 'f', 'en-US' ) AS 'Result 3', FORMAT(@Vardate, 'F', 'en-US' ) AS 'Result 4'SELECT FORMAT(@Vardate, 'g', 'en-US' ) AS 'Result 5', FORMAT(@Vardate, 'G', 'en-US' ) AS 'Result 6'SELECT FORMAT(@Vardate, 'm', 'en-US' ) AS 'Result 7', FORMAT(@Vardate, 'M', 'en-US' ) AS 'Result 8'SELECT FORMAT(@Vardate, 'O', 'en-US' ) AS 'Result 9', FORMAT(@Vardate, 'R', 'en-US' ) AS 'Result 10'SELECT FORMAT(@Vardate, 's', 'en-US' ) AS 'Result 11', FORMAT(@Vardate, 'S', 'en-US' ) AS 'Result 12'SELECT FORMAT(@Vardate, 't', 'en-US' ) AS 'Result 13', FORMAT(@Vardate, 'T', 'en-US' ) AS 'Result 14'SELECT FORMAT(@Vardate, 'u', 'en-US' ) AS 'Result 15', FORMAT(@Vardate, 'U', 'en-US' ) AS 'Result 16'SELECT FORMAT(@Vardate, 'Y', 'en-US' ) AS 'Result 17'
Ver a saída.
#FormatoSQL Data usando Cultura
Neste exemplo, vamos usar a função de formato terceiro argumento cultura.
Por este exemplo, pode exibir o nome do mês, ou nome do dia na língua nativa – algo como, Nome do dia em J Hindi, Russo, Coreano, Japonês, Chinês, etc.
Ver a seguinte consulta.
DECLARE @Vardate DATETIME = GETDATE() SELECT FORMAT(@Vardate, 'dd', 'en-US' ) AS 'Result 1', FORMAT(@Vardate, 'dddd', 'hi-IN' ) AS 'Result 2'SELECT FORMAT(@Vardate, 'd', 'de-DE' ) AS 'Result 3', FORMAT(@Vardate, 'dddd', 'ru-RU' ) AS 'Result 4'SELECT FORMAT(@Vardate, 'M', 'en-US' ) AS 'Result 5', FORMAT(@Vardate, 'MMMM', 'hi-IN' ) AS 'Result 6'SELECT FORMAT(@Vardate, 'MM', 'de-DE' ) AS 'Result 7', FORMAT(@Vardate, 'MMMM', 'ru-RU' ) AS 'Result 8'SELECT FORMAT(@Vardate, 'yy', 'en-US' ) AS 'Result 9', FORMAT(@Vardate, 'y', 'hi-IN' ) AS 'Result 10'SELECT FORMAT(@Vardate, 'yyyy', 'de-DE' ) AS 'Result 11', FORMAT(@Vardate, 'y', 'ru-RU' ) AS 'Result 12'
Ver a saída.
#SQL Server Format Currency using Culture
Neste exemplo, vamos formatar os valores da Moeda com base na cultura especificada.
DECLARE @Sales INT = 1111 SELECT FORMAT(@Sales, 'c', 'en-US' ) AS 'USA Currency'SELECT FORMAT(@Sales, 'c', 'ru-RU' ) AS 'Russian Currency'SELECT FORMAT(@Sales, 'c', 'hi-IN' ) AS 'Indian Currency'SELECT FORMAT(@Sales, 'c', 'de-DE' ) AS 'Indian Currency'
Veja a saída.
Finalmente, o Tutorial Como Formatar no SQL Server está terminado.
Posts recomendados
Função ReplicarSQL
Função LTRIMSQL
Função Mais Baixa() Exemplo de Função no MySQL e SQL Server
Função EsquerdaSQL
Função DIFERENÇASQL