Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tabel Perbandingan kolom Tanggal dengan daftar tanggal yang dihasilkan - MYSQL

PEMBARUAN Kedua:

Sekarang saya membuatnya bekerja di setiap versi:

select
*
from
Payroll
inner join 
(
SELECT DATE(DATE_ADD('2012-10-05', 
INTERVAL @i:[email protected]+14 DAY) ) AS dateP
FROM Payroll, (SELECT @i:=0) r
where @i < DATEDIFF(now(), date '2012-10-05') 
) sq on Payroll.datestamp = sq.dateP

Anda hanya perlu menginisialisasi variabel di dalam kueri.

PERBARUI:

Anehnya, yang ini bekerja di mesin lokal saya tanpa masalah (versi 5.1.41-3ubuntu12.7-log), tetapi tidak di SQLfiddle Anda.

set @i:= 0;
select
*
from
Payroll
inner join 
(
SELECT DATE(DATE_ADD('2012-10-05', 
INTERVAL @i:[email protected]+14 DAY) ) AS dateP
FROM Payroll
where @i < DATEDIFF(now(), date '2012-10-05') 
) sq on Payroll.datestamp = sq.dateP

AKHIR PEMBARUAN

Sudahkah Anda mencobanya seperti ini?

set @i:= 0;

SELECT distinct datestamp FROM payroll
WHERE STR_TO_DATE(datestamp, '%M, %d %Y %H:%i:%f') in (
SELECT DATE(ADDDATE('2012-10-05', 
INTERVAL @i:[email protected]+14 DAY) ) AS dateP
FROM payroll
where @i < DATEDIFF(now(), date '2012-10-05') 
)
;

Dugaan saya adalah, bahwa DATE() fungsi gagal, karena Anda varchar (apakah?) tanggal tidak dalam format ISO. Oleh karena itu Anda harus menggunakan STR_TO_DATE() fungsi.

Untuk penggunaan yang tepat dari STR_TO_DATE() baca di sini dan di sini . Saya tidak yakin tentang bagian mikrodetik.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membatasi waktu masuk dan waktu keluar dalam sehari di VB.NET?

  2. Cara mengambil catatan yang cocok persis di Spring JPA @Query

  3. Geocoder Google Maps untuk menemukan tempat terdekat dari database MySQL

  4. Pemicu MySQL untuk memperbarui bidang berdasarkan jumlah kolom dari tabel lain

  5. Pilih dengan dua hitungan pada kolom yang sama