Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Hanya mendapatkan Bulan dan Tahun dari SQL DATE

Selain saran yang sudah diberikan, ada satu kemungkinan lain yang dapat saya simpulkan dari pertanyaan Anda:
- Anda masih ingin hasilnya berupa tanggal
- Tapi Anda ingin 'membuang' Hari, Jam , dll
- Meninggalkan bidang tanggal tahun/bulan saja

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

Ini mendapatkan jumlah bulan penuh dari tanggal dasar (0) dan kemudian menambahkannya ke tanggal dasar itu. Jadi pembulatan ke Bawah ke bulan di mana tanggal tersebut berada.

CATATAN:Di SQL Server 2008, Anda masih akan memiliki WAKTU yang dilampirkan sebagai 00:00:00.000Ini tidak persis sama dengan "menghapus" notasi hari dan waktu secara bersamaan. Juga DAY yang disetel ke yang pertama. misalnya 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. Apakah mungkin menjalankan beberapa pernyataan DDL di dalam transaksi (dalam SQL Server)?

  2. Mengubah kolom:null menjadi bukan null

  3. Penyortiran alami (alfanumerik manusia) di Microsoft SQL 2005

  4. Script Cepat yang Mengembalikan Semua Properti dari SERVERPROPERTY() di SQL Server 2017/2019

  5. Bagaimana cara membuat fungsi SQL Server untuk menggabungkan beberapa baris dari subquery ke dalam satu bidang yang dibatasi?