Saya memiliki tabel di database MySQL yang sudah diatur DATETIME
. Saya perlu masuk ke SELECT
tabel ini hanya sebelum DATE dan tidak termasuk waktu.
Bagaimana saya SELECT
dalam tabel ini hanya dengan tanggal dan melewati waktu, bahkan jika kolom tertentu diatur ke DATETIME
?
Contoh
Sekarang:
2012-01-23 09:24:41
Saya perlu melakukan satu- SELECT
satunya untuk ini:2012-01-23
Jawaban:
SELECT DATE(ColumnName) FROM tablename;
Lebih lanjut tentang fungsi MySQL DATE () .
sumber
Anda dapat menggunakan date_format
untuk zona waktu
sumber
Anda dapat menggunakan
select DATE(time) from appointment_details
untuk tanggal sajaatau
Anda dapat menggunakan
select TIME(time) from appointment_details
waktu sajasumber
Coba gunakan
untuk hari ini:
untuk tanggal yang dipilih:
sumber
Di MYSQL kami memiliki fungsi yang disebut DATE_FORMAT (tanggal, format) . Dalam kasus Anda, pernyataan pilihan Anda akan menjadi seperti ini: -
SELECT DATE_FORMAT(dateTimeFieldName,"%a%m%Y") as dateFieldName FROM table_name
Untuk informasi lebih lanjut tentang fungsi TANGGAL dan WAKTU Mysql klik di sini.
sumber
Cukup Anda bisa lakukan
sumber
Saya mencoba melakukan
SELECT DATE(ColumnName)
, namun ini tidak berfungsi untukTIMESTAMP
kolom † karena disimpan dalam UTC dan tanggal UTC digunakan alih-alih mengonversi ke tanggal lokal. Saya perlu memilih baris yang berada pada tanggal tertentu di zona waktu saya, jadi menggabungkan jawaban saya untuk pertanyaan lain ini dengan jawaban Balaswamy Vaddeman untuk pertanyaan ini , inilah yang saya lakukan:Jika Anda menyimpan tanggal sebagai
DATETIME
Kerjakan saja
SELECT DATE(ColumnName)
Jika Anda menyimpan tanggal sebagai
TIMESTAMP
Muat data zona waktu ke MySQL jika Anda belum melakukannya. Untuk server Windows, lihat tautan sebelumnya. Untuk server Linux, FreeBSD, Solaris, dan OS X Anda akan melakukan:
Kemudian format kueri Anda seperti ini:
Anda juga dapat meletakkan ini di
WHERE
bagian kueri seperti ini (tetapi perhatikan bahwa indeks pada kolom itu tidak akan berfungsi):(Jelas menggantikan
America/New_York
zona waktu lokal Anda.)† Satu-satunya pengecualian untuk ini adalah jika zona waktu lokal Anda adalah GMT dan Anda tidak melakukan penghematan siang hari karena waktu lokal Anda sama dengan UTC.
sumber
Coba di
SELECT * FROM Profiles WHERE date(DateReg)=$date
mana $ date dalam tttt-bb-hhkalau tidak
SELECT * FROM Profiles WHERE left(DateReg,10)=$date
Bersulang
sumber
Anda bisa mencoba ini:
Jika Anda memeriksa yang berikut:
Anda dapat melihat bahwa itu membutuhkan waktu lama.
sumber
sumber
Silakan coba jawaban ini.
sumber
Menggunakan
DATE_FORMAT
contoh:
sumber
Yang ini bisa digunakan untuk mendapatkan tanggal dalam format 'yyyy-mm-dd'.
sumber
jika kolom waktu ada di stempel waktu, Anda akan mendapatkan nilai tanggal dari stempel waktu tersebut menggunakan kueri ini
sumber
Untuk benar-benar memberikan solusi yang berfungsi untuk pertanyaan ini:
Jelas, Anda bisa mengubah fungsi NOW () ke tanggal atau variabel apa pun yang Anda inginkan.
sumber