sql >> Databasteknik >  >> RDS >> Mysql

Hur man får tid från db beroende på förhållandena

Använd timestampdiff funktion för det och CASE :

select case 
        when TIMESTAMPDIFF(SECOND, `date`,current_timestamp) <= 60 
        then concat(TIMESTAMPDIFF(SECOND, `date`,current_timestamp), ' seconds')
        when TIMESTAMPDIFF(DAY, `date`,current_timestamp) <= 3 
        and TIMESTAMPDIFF(DAY, `date`,current_timestamp) >= 1 
        ...
       end as time_diff 
from Table_hello
where TIMESTAMPDIFF(DAY, `time`,current_timestamp) >= 3 



  1. Hur bestämmer jag storleken på ett index i MySQL 5.1?

  2. Slumpmässigt valda rader via JPA

  3. ORA-01791 Pl-Sql-fel

  4. Varför kräver en rekursiv CTE i Transact-SQL en UNION ALL och inte en UNION?