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

Bagaimana cara membuat kueri loop sql untuk memeriksa perbedaan antara nilai?

DECLARE @idFrom as int,
        @idTo as int,
        @gpsDateFrom as datetime,
        @gpsDateTo as datetime
DECLARE VehicleCursor CURSOR FAST_FORWARD FOR 
SELECT  vehicle_gps_id, 
        datetimeCol
FROM    yourtable
ORDER BY vehicle_gps_id
OPEN VehicleCursor FETCH NEXT FROM VehicleCursor INTO @idFrom, @gpsDateFrom
    FETCH NEXT FROM VehicleCursor INTO @idTo, @gpsDateTo
    WHILE @@FETCH_STATUS = 0 BEGIN 
        IF DATEDIFF(MI,@gpsDateFrom,@gpsDateTo) >5
        BEGIN
            --Break (your code here)
        END
        SET @idFrom = @idTo
        SET @gpsDateFrom = @gpsDateTo
        FETCH NEXT FROM VehicleCursor INTO @idTo, @gpsDateTo
    END 
CLOSE VehicleCursor 
DEALLOCATE VehicleCursor

Sesuatu seperti ini seharusnya bekerja untuk Anda. Ini adalah kursor yang hanya berjalan melalui semua kolom Anda membandingkan datetimes. Anda dapat memasukkan apa pun yang ingin Anda lakukan ke bagian komentar setelah pernyataan if.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Basis data tidak dapat dibuka karena versi 851. Server ini mendukung versi 782 dan sebelumnya. Jalur penurunan versi tidak didukung

  2. Memuat Gambar PictureBox Dari Database

  3. MSSQL cast( [varcharColumn] to int) di SELECT dieksekusi sebelum klausa WHERE menyaring nilai buruk

  4. Grup Pengguna Charlotte SQL Server:Perbaiki Kueri Lambat. Cepat.

  5. Jalankan Skrip Python dari MSSQL