Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да се покаже дата във формат на дата в САЩ в SQL Server (T-SQL)

В SQL Server можете да използвате T-SQL FORMAT() функция за показване на дата в желания формат. Тази функция приема незадължителен аргумент „култура“, който можете да използвате, за да посочите формат на датата в САЩ.

Може или може да не се наложи да използвате този аргумент, в зависимост от езика на вашата локална сесия. Ето как обаче изрично да посочите формата на датата в САЩ.

Пример 1 – Кратък формат на датата в САЩ

За да посочите изрично, че дадена дата трябва да се показва в американски английски формат, използвайте en-US като аргумент за култура:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'd', 'en-US') Result;

Резултат:

+-----------+
| Result    |
|-----------|
| 12/1/2020 |
+-----------+

В този случай използвах малка буква d като втори аргумент. Това води до сравнително кратък формат на датата, като денят и месецът се показват като числа.

И тъй като използваме формат за дата в САЩ, месецът идва преди деня.

Пример 2 – Дълъг формат на датата в САЩ

Ако го променя на главни букви D , получавам по-дълъг формат с изписани ден и месец:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'D', 'en-US') Result;

Резултат:

+---------------------------+
| Result                    |
|---------------------------|
| Tuesday, December 1, 2020 |
+---------------------------+

Пример 3 – Персонализиран формат на дата в САЩ

Ако установите, че горните формати за дата са твърде ограничителни, винаги можете да посочите персонализиран формат за дата. Например, ако харесвате предишния пример, освен че предпочитате да имате само първите 3 букви от деня и месеца, можете да направите това:

DECLARE @thedate date = '2020-12-01'
SELECT FORMAT(@thedate, 'ddd, MMM d, yyyy', 'en-US') Result;

Резултат:

+------------------+
| Result           |
|------------------|
| Tue, Dec 1, 2020 |
+------------------+

Все още уточнявам култура, въпреки че уточнявам точно къде отива всеки компонент за дата. Причината да правя това е да посоча изрично кой език да използвам. Пропускането на този аргумент може или не може да причини проблеми, в зависимост от използваните езици.

Хубавото на персонализираните формати за дата е, че ви дава голяма гъвкавост. Можете да превключвате компонентите наоколо и те ще се появят точно там, където искате.

Проверка на текущата ви сесия

Когато използвате FORMAT() функция, ако аргументът култура не е предоставен, се използва езикът на текущата сесия. Този език се задава или имплицитно, или изрично с помощта на SET LANGUAGE изявление.

За повече информация, ето 3 начина да получите езика на текущата сесия в SQL Server (T-SQL).

Вижте също Как да зададете текущия език в SQL Server (T-SQL).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Промяна на график на агент на SQL Server (T-SQL)

  2. Копирайте данните в друга таблица

  3. Регистърът на транзакциите на SQL Server, част 3:Основи на регистрирането

  4. Как да инсталирате Azure Data Studio на Mac

  5. Как да конвертирате главни в малки букви в SQL Server – LOWER()