Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql избира времеви печати между a и b, връщайки всички или 0 времеви печати

MySQL очаква литерали за дата , а не цели числа:

SELECT *
FROM   table
WHERE  DATE(timestamp_field) BETWEEN '2012-03-01' AND '2012-05-04'

За да използвате цели числа (ако приемем, че са секунди от епохата на UNIX), първо ги преобразувайте с помощта на FROM_UNIXTIME() функция:

SELECT *
FROM   table
WHERE  timestamp_field BETWEEN FROM_UNIXTIME(1330560000)
                           AND FROM_UNIXTIME(1336170420)

Или използвайте UNIX_TIMESTAMP() за да конвертирате колоната си в нейното UNIX представяне:

SELECT *
FROM   table
WHERE  UNIX_TIMESTAMP(timestamp_field) BETWEEN 1330560000 AND 1336170420


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Влезте с LDAP, като използвате JSF 2,1 и Apache Tomcat

  2. SQL - Как да поръчате, като използвате Count от друга таблица

  3. Някаква Javascript/Jquery библиотека за валидиране на SQL оператор?

  4. Номериране на редове с p:dataTable

  5. Актуализирайте/увеличете една колона на няколко реда наведнъж