Bagaimana query untuk semua tanggal yang lebih besar dari tanggal tertentu di SQL Server?
I'm mencoba:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A. Tanggal
terlihat seperti: 2010-03-04 00:00:00.000
Namun, ini tidak bekerja.
Siapa pun dapat memberikan referensi untuk mengapa?
307
5
Dalam kueri anda,
2010-4-01
diperlakukan sebagai suatu ekspresi matematika, jadi pada dasarnya itu baca(
2010 minus 4 dikurangi 1 tahun 2005
Mengubahnya ke yang tepatdatetime
, dan menggunakan tanda kutip tunggal akan memperbaiki masalah ini.)Secara teknis, parser akan memungkinkan anda untuk pergi dengan
ia akan melakukan konversi untuk anda, tapi menurut saya itu kurang dapat dibaca dari secara eksplisit mengkonversi ke
DateTime
untuk pemeliharaan programmer yang akan datang setelah anda.Mencoba melampirkan tanggal menjadi string karakter.
Kita dapat gunakan seperti di bawah ini juga
Pertama mengkonversi TexBox ke Datetime kemudian....menggunakan variabel yang menjadi Query
Untuk jumlah semuanya, jawaban yang benar adalah.....
select * from db dimana Tanggal >= '20100401' (Format tanggal yyyymmdd)
Ini akan menghindari masalah dengan bahasa lain sistem dan akan menggunakan indeks