sql >> Databasteknik >  >> RDS >> Mysql

Hur många lika dagar finns mellan två datumintervall, SQL

anta att din tabell heter daterange och du har parametrar definierade @param1 och param2 i din procedur så borde något på dessa rader fungera:

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 exempel i sqlfiddle



  1. Förberedd Statement Cache med MySQL &JDBC

  2. Hur genererar man ett unikt ID i MySQL?

  3. Hur tilldelar man ett exec-resultat till en sql-variabel?

  4. Fel vid skapande av unaccent-tillägg på PostgreSQL