Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobieranie tylko Miesiąca i Roku z SQL DATE

Oprócz podanych już sugestii, jest jeszcze jedna możliwość, którą mogę wywnioskować z twojego pytania:
- Nadal chcesz, aby wynikiem była data
- Ale chcesz „odrzucić” Dni, Godziny , itp
- Pozostawienie pola daty tylko dla roku/miesiąca

SELECT
   DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
   <your_table>

Pobiera liczbę pełnych miesięcy od daty bazowej (0), a następnie dodaje je do tej daty bazowej. W ten sposób zaokrąglamy w dół do miesiąca, w którym jest data.

UWAGA:W SQL Server 2008 nadal będzie dołączony TIME jako 00:00:00.000. Nie jest to dokładnie to samo, co całkowite usunięcie wszelkich zapisów dnia i godziny. Również DAY ustawiony na pierwszy. np. 2009-10-01 00:00:00.000



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak sprawić, by rozszerzenie SQLSRV działało z PHP, skoro MSSQL jest przestarzały?

  2. Konfigurowanie zależności maven dla SQL Server

  3. Jak przekonwertować DateTime na VarChar

  4. przechowuj arabski w bazie danych SQL

  5. Tworzyj, nie psuj, wydajność SQL Server