sql >> Database teknologi >  >> RDS >> Mysql

Hvor mange lige dage er der mellem to datointervaller, SQL

antag, at din tabel hedder daterange, og du har defineret parametre @param1 og param2 i din procedure, så burde noget på disse linjer fungere:

set @param1 := cast('2013-03-14' as date);
set @param2 := cast('2013-03-16' as date);

select 
datediff(least(date2,@param2),@param1)+1
from daterange where @param1 between date1 and date2

Se eksempel i sqlfiddle



  1. er `dato` et gyldigt mysql kolonnenavn?

  2. Hvor er forskellene ved brug af XML og MySQL-database? Hvilken skal jeg bruge?

  3. Sådan fungerer INSTR() i MariaDB

  4. SQL Server Høj tilgængelighed:Tilføj ny disk til en eksisterende failover-klyngeforekomst