Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过不使用varchar date进行SQL排序_Sql - Fatal编程技术网

通过不使用varchar date进行SQL排序

通过不使用varchar date进行SQL排序,sql,Sql,我有一个查询,它不像我想象的那样排序,而且我认为这是一个非常简单的排序方式,但不知何故它不起作用 SELECT * FROM ( SELECT 'May 19 2020 9:07AM' AS D UNION SELECT 'May 19 2020 9:04PM' ) AS A ORDER BY A.D DESC 检查的行为是,“2020年5月19日9:04PM”应该在第一行,因为这是最早的。您需要按顺序将其转换为日期。这是你的电话号码 此解决方案应适用于SQL Serve

我有一个查询,它不像我想象的那样排序,而且我认为这是一个非常简单的排序方式,但不知何故它不起作用

SELECT * FROM
(
SELECT 
    'May 19 2020  9:07AM' AS D
UNION
SELECT
    'May 19 2020  9:04PM'
) AS A
ORDER BY A.D DESC
检查的行为是,“2020年5月19日9:04PM”应该在第一行,因为这是最早的。

您需要按顺序将其转换为日期。这是你的电话号码

此解决方案应适用于SQL Server、PostgreSQL和SQL Lite

SELECT * FROM
(
SELECT 
    'May 19 2020  9:07AM' AS D
UNION
SELECT
    'May 19 2020  9:04PM'
) AS A
ORDER BY date(D) DESC
输出:

| d                   |
| ------------------- |
| May 19 2020  9:04PM |
| May 19 2020  9:07AM |
如果您使用的是MySQL,那么unix_timestad desc应该可以做到这一点。

您需要按顺序将其转换为日期。这是你的电话号码

此解决方案应适用于SQL Server、PostgreSQL和SQL Lite

SELECT * FROM
(
SELECT 
    'May 19 2020  9:07AM' AS D
UNION
SELECT
    'May 19 2020  9:04PM'
) AS A
ORDER BY date(D) DESC
输出:

| d                   |
| ------------------- |
| May 19 2020  9:04PM |
| May 19 2020  9:07AM |

如果您使用的是MySQL,那么unix_timestad desc应该可以做到这一点。

您使用的是哪种SQL引擎?如果您想先使用最旧的SQL引擎,为什么要使用desc排序?如果您想先使用最旧的SQL引擎,为什么要使用desc排序?我使用的是SQL Server,但您展示的观点是相同的,唯一的区别是我有过一次约会。谢谢,我使用的是SQL Server,但你展示的观点是一样的,唯一的区别是我做了一次CASTD约会。非常感谢