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

Bagaimana cara saya menanyakan semua tanggal yang lebih besar dari tanggal tertentu di SQL Server?

select *  
from dbo.March2010 A 
where A.Date >= Convert(datetime, '2010-04-01' )

Dalam kueri Anda, 2010-4-01 diperlakukan sebagai ekspresi matematis, jadi pada intinya terbaca

select *  
from dbo.March2010 A 
where A.Date >= 2005; 

(2010 minus 4 minus 1 is 2005 Mengubahnya menjadi datetime proper yang tepat , dan menggunakan tanda kutip tunggal akan memperbaiki masalah ini.)

Secara teknis, pengurai memungkinkan Anda untuk lolos

select *  
from dbo.March2010 A 
where A.Date >= '2010-04-01'

itu akan melakukan konversi untuk Anda, tetapi menurut saya itu kurang mudah dibaca daripada secara eksplisit mengonversi ke DateTime untuk programmer pemeliharaan yang akan datang setelah Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tidak ada sqljdbc_auth di java.library.path

  2. Cara menggunakan RANK() di SQL Server

  3. Fungsi SQL Server ROUND():Untuk Apa dan Mengapa Anda Harus Peduli?

  4. Bagaimana cara mensimulasikan UNPIVOT di Access?

  5. Tidak dapat memulai transaksi terdistribusi