Eis como apresentar o mês em diferentes línguas com o SQL Server utilizando consultas, e nos dez idiomas mais falados no mundo.
Cada idioma é acompanhado por um trecho de código T-SQL que formata uma data para exibir o nome do mês nesse idioma específico.
Vamos então detalhar o código T-SQL por idioma, com uma breve descrição de cada um. Em um artigo anterior, vimos como mostrar o nome do mês usando diferentes variações de T-SQL, sem alterar o idioma.
Table of Contents
1. Mostrar o nome do mês usando SQL Server em Chinês (Mandarim)
O chinês é o idioma oficial da China e também de Taiwan. Exibir nomes de meses em chinês (mandarim) no SQL Server requer um entendimento de suas nuances linguísticas. O chinês mandarim, sendo o idioma oficial tanto da China quanto de Taiwan, possui uma importância global significativa.
No SQL Server, formatar datas para exibir nomes de meses em mandarim envolve a utilização de funções específicas do idioma e conjuntos de caracteres, garantindo uma representação precisa dentro dos sistemas de banco de dados.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'zh-CN') AS 'zh-CN'; -- Chinês (Mandarim)
Explicação da consulta:
- Dentro da instrução SELECT, a função FORMAT é utilizada para formatar a data armazenada na variável @date.
- O segundo parâmetro, ‘MMMM’, especifica o formato da saída, indicando o nome completo do mês.
- O terceiro parâmetro, ‘zh-CN’, representa a cultura ou idioma para formatação, especificamente chinês (mandarim) falado na China.
- A parte AS ‘zh-CN’ atribui o nome do mês formatado resultante ao nome da coluna ‘zh-CN’ na saída.
2. Espanhol
O idioma espanhol é falado em muitos países, especialmente na América Latina e na Espanha.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'es-ES') AS 'es-ES'; -- Espanhol
3. Exibir o nome do mês em inglês usando T-SQL
O inglês é frequentemente descrito como uma língua franca global. Esta consulta é um exemplo de como exibir o nome do mês em inglês (americano) usando o SQL Server. Ao declarar uma variável datetime e, em seguida, utilizar a função FORMAT com o código de idioma apropriado (‘en-US’), a consulta produz o nome do mês em inglês, especificamente no formato americano.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'en-US') AS 'en-US'; -- Inglês Americano
4. Hindi
- Descrição: Predominantemente falado na Índia.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'hi-IN') AS 'hi-IN'; -- Hindi
5. Nome do mês em árabe usando T-SQL
- Descrição: Idioma oficial em 26 países no Oriente Médio e na África.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'ar-SA') AS 'ar-SA'; -- Árabe
6. Português
- Descrição: Idioma oficial do Brasil e Portugal.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'pt-BR') AS 'pt-BR'; -- Português (Brasil)
7. Bengali
- Descrição: Idioma oficial em Bangladesh e partes da Índia.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'bn-BD') AS 'bn-BD'; -- Bengali (Bangladesh)
8. Russo
- Descrição: Idioma oficial da Rússia.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'ru-RU') AS 'ru-RU'; -- Russo
9. Japonês
- Descrição: Idioma oficial do Japão.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'ja-JP') AS 'ja-JP'; -- Japonês
10. Nome do mês em Lahnda (Punjabi Ocidental)
- Descrição: Falado principalmente na região do Punjab no Paquistão.
DECLARE @date datetime = '2023-01-01'; SELECT FORMAT(@date, 'MMMM', 'pa-PK') AS 'pa-PK'; -- Punjabi (Paquistão)
11. Consulta T-SQL para obter o nome do mês em vários idiomas de uma só vez
O código abaixo, ainda utiliza a função FORMAT() do SQL Server para extrair o nome do mês de uma data dada, aqui é 2023-12-31. Ele gera um conjunto de resultados que exibe o nome do mês para esta data em vários idiomas proeminentes, como chinês (mandarim), espanhol, inglês e vários outros, tudo em uma única consulta.
-- ** Código por Expert-Only.com ** -- DECLARE @date datetime = '2023-12-31'; SELECT FORMAT(@date, 'MMMM', 'zh-CN') AS 'zh-CN', -- Chinês (Mandarim) FORMAT(@date, 'MMMM', 'es-ES') AS 'es-ES', -- Espanhol FORMAT(@date, 'MMMM', 'en-US') AS 'en-US', -- Inglês Americano FORMAT(@date, 'MMMM', 'hi-IN') AS 'hi-IN', -- Hindi FORMAT(@date, 'MMMM', 'ar-SA') AS 'ar-SA', -- Árabe FORMAT(@date, 'MMMM', 'pt-BR') AS 'pt-BR', -- Português (Brasil) FORMAT(@date, 'MMMM', 'bn-BD') AS 'bn-BD', -- Bengali (Bangladesh) FORMAT(@date, 'MMMM', 'ru-RU') AS 'ru-RU', -- Russo FORMAT(@date, 'MMMM', 'ja-JP') AS 'ja-JP', -- Japonês FORMAT(@date, 'MMMM', 'pa-PK') AS 'pa-PK'; -- Punjabi (Paquistão);
O resultado gera o seguinte no SSMS:
zh-CN | es-ES | en-US | hi-IN | ar-SA | pt-BR | bn-BD | ru-RU | ja-JP | pa-PK |
---|---|---|---|---|---|---|---|---|---|
十二月 | diciembre | December | दिसम्बर | جمادى الثانية | dezembro | ডিসেম্বর | Декабрь | 12月 | ਦਸੰਬਰ |
Note as especificidades para o árabe, o nome do mês “جمادى الثانية” não é dezembro em árabe; refere-se a um mês no calendário lunar islâmico. E, no calendário gregoriano, dezembro é representado como “ديسمبر” em árabe.
Desafios do SQL Server para apresentar o mês em diferentes línguas
Em resumo, este artigo explica a funcionalidade do SQL Server para exibir mês em diferentes línguas com o SQL Server, nos 10 idiomas mais falados globalmente. Por meio do exame de trechos de código T-SQL específicos do idioma, destacamos a capacidade da plataforma de acomodar diversas necessidades linguísticas. Esta análise enfatiza a importância prática do su
Seja o primeiro a comentar