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

Получаване само на месец и година от SQL DATE

Освен вече дадените предложения, има още една възможност, която мога да изведа от въпроса ви:
- Все пак искате резултатът да е дата
- Но искате да „изхвърлите“ дните, часовете , и т.н.
- Оставяне на поле за дата само за година/месец

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

Това получава броя на цели месеци от базова дата (0) и след това ги добавя към тази базова дата. По този начин се закръгля надолу до месеца, в който е датата.

ЗАБЕЛЕЖКА:В SQL Server 2008 все още ще имате прикачено ВРЕМЕ като 00:00:00.000Това не е точно същото като „премахване“ на всяка нотация на ден и час като цяло. напр. 01.10.2009 г. 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. Изравняване на пресичащи се времеви интервали

  2. 11 начина за извличане на първичен ключ в SQL Server (примери за T-SQL)

  3. Представяне на общи изрази за таблици в SQL Server

  4. Стартирайте всички SQL файлове в директория

  5. Най-доброто решение за пейджинг, използващо SQL Server 2005?