简体   繁体   中英

SQL ORDER BY date DESC

I have a table with several rows of timestamp (unix epoch)

eg: 1620518277 , 1556748676 , 1547547076, 1602756807, 944971077 (field name -> date_stamp)

And by using

SELECT * 
FROM table 
ORDER BY date_stamp DESC

The result of this query is :

 1. 944971077
 2. 1620518277
 3. 1602756807
 4. 1556748676
 5. 1547547076

Everything is sorted fine but how can 944971077 > 1620518277 ???

Anybody had this kind of strange SQL issues ?

Presumably, you are storing these timestamps as strings, not as numbers. A simple option forces a numeric conversion:

SELECT * FROM table ORDER BY date_stamp + 0 DESC

This would occur if timestamp were a string. A simple method is to convert to a number using implicit conversion:

SELECT *
FROM table
ORDER BY date_stamp + 0 DESC

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM