sql >> Databáze >  >> RDS >> Sqlserver

Změňte jazyk pro aktuální relaci na serveru SQL Server

Možná víte, že když se připojíte k serveru SQL Server, jazyk této relace je obvykle určen vaším přihlášením. Po vytvoření přihlášení je mu přiřazen výchozí jazyk.

Jazyk relace určuje datum a čas formáty a systémové zprávy.

I když jistě můžete změnit výchozí jazyk pro přihlášení, můžete také výchozí jazyk v rámci relace v případě potřeby přepsat. V případě potřeby můžete přepínat mezi jazyky. Nebo můžete dokonce otevřít dvě samostatná připojení a na každé z nich použít jiný jazyk.

Tento článek vysvětluje, jak změnit jazyk během relace.

NASTAVIT JAZYK

SET LANGUAGE umožňuje nastavit jazykové prostředí pro aktuální relaci.

Zde je příklad.

SET LANGUAGE British;

To nastaví aktuální jazyk na britský.

Mohu to ověřit pomocí následujícího dotazu.

SELECT @@LANGUAGE;

Výsledek:

British

Formáty data

Měli byste vědět, že změna jazyka v rámci relace také změní formát data.

Zde je další dotaz, který to ilustruje.

DBCC USEROPTIONS;

Výsledek:

+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | British        |
 | dateformat              | dmy            |
 | datefirst               | 1              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+ 

Všimněte si, že dateformat je dmy a datefirst je 1 . Toto je v souladu s britským formátem data.

Zde je to, co se stane, když změním jazyk na us_english .

SET LANGUAGE us_english; 
 ....... DBCC USEROPTIONS;                                                             
 Time: 0.738s
 Changed language setting to us_english.
 +-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | us_english     |
 | dateformat              | mdy            |
 | datefirst               | 7              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+  

Všimněte si, že formát data je implicitně změněn tak, aby odpovídal formátu data v USA.

Pokud to považujete za problematické, můžete vždy změnit formát data bez změny jazyka.

Nastavit jazyk na úrovni dotazu

Některé funkce přijímají argument „kultura“, který vám umožňuje určit jazyk, který se má použít pouze pro tento dotaz. Jinými slovy, jazyk můžete změnit ad-hoc v rámci dotazu, aniž byste museli měnit jazyk aktuální relace.

Zde je příklad.

SET LANGUAGE us_english;
SELECT 
  FORMAT(GETDATE(), 'd') AS [My Default],
  FORMAT(GETDATE(), 'd', 'en-GB') AS [British],
  FORMAT(GETDATE(), 'd', 'de-DE') AS [German];

Výsledek:

+--------------+------------+------------+
 | My Default   | British    | German     |
 |--------------+------------+------------|
 | 3/29/2020    | 29/03/2020 | 29.03.2020 |
 +--------------+------------+------------+  

Získejte seznam jazyků

Chcete-li získat seznam jazyků dostupných na serveru SQL Server, můžete spustit následující dotaz.

EXEC sp_helplanguage;

Můžete jej také zúžit na konkrétní jazyk tak, že k němu přidáte název jazyka nebo alias.

EXEC sp_helplanguage Italian;

  1. Najděte ve své aplikaci netěsnosti připojení k databázi

  2. Ladění výkonu kolenem:Nesprávné použití dočasných tabulek

  3. Chyba při mapování postgresových polí v Spring JPA

  4. Spusťte dávkový soubor pomocí příkazu psql bez hesla