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

Преобразувайте името на месеца в номера на месеца в SQL Server (T-SQL)

В SQL Server можете да използвате MONTH() функция за преобразуване на името на месец в съответния номер.

Пример

Ето пример за преобразуване на името на месец в номер на месеца.

SELECT MONTH('September' + '1,1');

Резултат:

9

Това, което правя тук, е основно да измисля „дата“ (която включва посочения от мен месец), така че SQL Server да не извежда грешка при използване на MONTH() функция без валидна дата.

Тази функция приема всеки израз, който може да бъде разрешен до време ,дата , smalldatetime , дата и час , дата и час2 , или datetimeoffset стойност. Може да бъде израз, израз на колона, дефинирана от потребител променлива или низов литерал.

Още „Подобен на дата“

Можете също така да предоставите по-подобен на дата аргумент, като направите нещо подобно:

SELECT MONTH('September' + ' 01, 1900');

Резултат:

9

Текущ ден и година

Или ако предпочитате да използвате текущия ден и година, можете да направите нещо подобно:

SELECT MONTH('September' + FORMAT(GETDATE(), 'd,y'));

Резултат:

9

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

Ето един пример, за да илюстрирам какво имам предвид:

SELECT 
  FORMAT(GETDATE(), 'MMMM d, yyyy') AS [Today],
  'September' + FORMAT(GETDATE(), ' d, yyyy') AS [Modified],
  MONTH('September' + FORMAT(GETDATE(), ' d, yyyy')) AS [Month Number];

Резултат:

 +----------------+--------------------+----------------+
 | Today          | Modified           | Month Number   |
 |----------------+--------------------+----------------|
 | March 22, 2020 | September 22, 2020 | 9              |
 +----------------+--------------------+----------------+ 

Изпълних тази заявка на 22 март 2020 г., но датата на промяна е 22 септември 2020 г.

Независимо от това, правилният номер на месеца се връща, когато използваме MONTH() .


  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

  2. Как да генерирате изявления за вмъкване от текстови файлове за таблица на SQL Server в SQL Server - SQL Server / TSQL урок, част 106

  3. Предайте таблицата като параметър в UDF на sql сървъра

  4. Възстановяване на база данни на SQL Server (T-SQL)

  5. Как да използвате семантично търсене в SQL Server