Тази статия демонстрира как изрично да форматирате дата във Великобритания английски формат, когато използвате T-SQL FORMAT()
функция в SQL Server.
Може или може да не се наложи да използвате този аргумент, в зависимост от езика на вашата локална сесия. Въпреки това, ето как изрично да посочите формат за дата във Великобритания.
Пример 1 – Кратък британски формат за дата
За да посочите изрично, че дадена дата трябва да се показва в английски формат на Великобритания, използвайте en-gb
като аргумент за култура:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'd', 'en-gb') Result;
Резултат:
+------------+ | Result | |------------| | 01/12/2020 | +------------+
В този случай използвах малка буква d
като втори аргумент. Това води до сравнително кратък формат на датата, като денят и месецът се показват като числа.
И тъй като използваме британския английски формат, денят идва преди месеца (това е за разлика от формата за дата в САЩ, където месецът идва преди деня).
Пример 2 – Дълъг британски формат на дата
Можете да промените втория аргумент на D
с главни букви за да се получи по-дълъг формат на датата, като месецът е изписан:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'D', 'en-gb') Result;
Резултат:
+------------------+ | Result | |------------------| | 01 December 2020 | +------------------+
Пример 3 – Персонализиран британски формат на дата
Можете също да използвате персонализиран формат за дата, ако е необходимо. Това ви позволява изрично да посочите точно как и къде отива всеки компонент за дата.
Пример:
DECLARE @thedate date = '2020-12-01' SELECT FORMAT(@thedate, 'ddd, d MMM, yyyy', 'en-gb') Result;
Резултат:
+------------------+ | Result | |------------------| | Tue, 1 Dec, 2020 | +------------------+
Все още уточнявам култура, въпреки че уточнявам точно къде отива всеки компонент за дата. Причината да правя това е да посоча изрично кой език да използвам. Пропускането на този аргумент може или не може да причини проблеми, в зависимост от използваните езици.
Проверка на текущата ви сесия
Когато използвате FORMAT()
функция, ако аргументът култура не е предоставен, се използва езикът на текущата сесия. Този език се задава или имплицитно, или изрично с помощта на SET LANGUAGE
изявление.
За повече информация, ето 3 начина да получите езика на текущата сесия в SQL Server (T-SQL).
Вижте също Как да зададете текущия език в SQL Server (T-SQL).