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

5 начина да получите краткото име на месеца от дата в SQL Server

Понякога, когато работите със SQL Server (или всяка друга СУБД по този въпрос), трябва да върнете краткото име за един месец. Под това имам предвид съкращението от 3 букви на месец. Например, имате нужда от „Dec“ вместо „December“.

Ето четири начина, по които можете да извлечете съкратеното име на месеца от дата в SQL Server.

Функцията FORMAT()

FORMAT() функцията е налична от SQL Server 2012 г. и това е най-краткият начин за връщане на месеца като съкращение от 3 букви.

Ето пример за това как работи:

DECLARE @date datetime2 = '2000-01-01';
SELECT FORMAT(@date, 'MMM') AS 'FORMAT';

Резултат:

FORMAT
------
Jan   

Първият ред просто декларира променлива и й присвоява дата. Вторият ред е мястото, където връщаме краткото име на месеца от датата.

Функциите CAST() и DATENAME()

Тази опция прехвърля датата като CHAR(3) , като по този начин отрязва всички знаци, които следват първите три.

Ето един пример:

DECLARE @date datetime2 = '2000-01-01';
SELECT CAST(DATENAME(month, @date) AS CHAR(3)) AS 'CAST/DATENAME';

Резултат:

CAST/DATENAME
-------------
Jan          

Функциите LEFT() и DATENAME()

Тази опция е подобна на предишната, с изключение на това, че използва LEFT() функция, за да вземете 3-те най-леви знака от датата.

Пример:

DECLARE @date datetime2 = '2000-01-01';
SELECT LEFT(DATENAME(month, @date), 3) AS 'LEFT/DATENAME';

Резултат:

LEFT/DATENAME
-------------
Jan          

Функциите LEFT() и CONVERT()

Тази опция преобразува датата в varchar, след което приема първите три знака.

Пример:

DECLARE @date datetime2 = '2000-01-01';
SELECT LEFT(CONVERT(varchar, @date, 100), 3) AS 'LEFT/CONVERT';

Резултат:

LEFT/CONVERT
------------
Jan         

В този пример 100 аргумент стилизира датата, така че да е в следния формат:mon dd yyyy hh:miAM (или PM) . Така че в нашия случай датата е оформена като 1 януари 2000 г. 12:00 ч. .

Оттам нататък е просто въпрос на отрязване на първите три букви с LEFT() функция.

Функциите LEFT() и MONTHNAME()

Тази опция използва MONTHNAME() ODBC скаларна функция за връщане на името на месеца. И както при предишните два примера, ние просто извличаме първите три букви от името на този месец.

Пример:

DECLARE @date datetime2 = '2000-01-01';
SELECT LEFT({fn MONTHNAME(@date)}, 3) AS 'LEFT/MONTHNAME';

Резултат:

LEFT/MONTHNAME
--------------
Jan               


  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:използвайте параметър в CREATE DATABASE

  2. Как да разделя низ, за ​​да мога да получа достъп до елемент x?

  3. Как да коригирате „Сървърът не е конфигуриран за RPC“ Msg 7411 с помощта на T-SQL

  4. Връщане на всички деактивирани ограничения в SQL Server (пример за T-SQL)

  5. След блокиране на една транзакция между версиите на SQL Server