Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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
SQL:如何选择最早日期_Sql - Fatal编程技术网

SQL:如何选择最早日期

SQL:如何选择最早日期,sql,Sql,我有一个日期栏&我只是想知道最早的日期。我使用命令: select Min(Install_date) From PocketGemsSchema.pocketgemstable2; 返回2017年12月1日 但我的样本数据中的最短日期实际上是2017年11月1日 有人能帮忙吗?我想这是数据类型的问题,你可以尝试两种方法 将字段转换为datatime,您的查询应该可以工作 在运行时对其进行如下转换 Mysql SELECT Min(Str-to-date(安装日期,%m/%d/%Y))) 来自

我有一个日期栏&我只是想知道最早的日期。我使用命令:

select Min(Install_date) From PocketGemsSchema.pocketgemstable2;
返回2017年12月1日

但我的样本数据中的最短日期实际上是2017年11月1日


有人能帮忙吗?

我想这是数据类型的问题,你可以尝试两种方法

  • 将字段转换为datatime,您的查询应该可以工作
  • 在运行时对其进行如下转换
  • Mysql

    SELECT Min(Str-to-date(安装日期,%m/%d/%Y)))
    来自pocketgemsschema.pocketgemstable2

    SQL server

    选择Min(Cast(安装日期为datetime))
    来自pocketgemsschema.pocketgemstable2

    尝试以下操作: 如果安装日期包含数据类型varchar,则

    SELECT MIN(CAST(Install_date AS DATE)) 
    FROM PocketGemsSchema.pocketgemstable2
    
    SELECT FORMAT(MIN(CAST(Install_dateAS DATE)), 'dd-MMM-yy ') 
    FROM PocketGemsSchema.pocketgemstable2
    

    如果您的安装日期包含数据类型date或datetime,那么您的查询将无法正常工作

    我会将列更改为日期或datetime类型,并对出现的任何错误进行排序。

    Hello@Yves,您使用的是什么数据库?(Oracle、MySQL、Sql Server…)极不可能。安装日期列的类型是什么。您的结果将与varchar列一致。
    Install\u date
    的数据类型可能是string,转换为dateNever,将日期存储为字符。使用正确的日期数据类型!比较字符串,
    2017年12月1日
    2017年11月1日