Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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_Sql Server - Fatal编程技术网

Sql 查找给定两列(名称和日期)的最小日期

Sql 查找给定两列(名称和日期)的最小日期,sql,sql-server,Sql,Sql Server,我在MS SQL中有一个表,有两列名称和日期,如下所示 名称 日期 A. 1/1/2020 A. 2/1/2020 A. B 1/1/2020 B 2/1/2020 C 1/1/2020 C 2/1/2020 C 我怀疑您正在将日期存储为字符串 也许是这样的 SELECT name, MIN(try_convert(date,[date])) FROM dbo.T Where try_convert(date,[date]) is not null GROUP BY name 您的代码符合您的

我在MS SQL中有一个表,有两列名称和日期,如下所示

名称 日期 A. 1/1/2020 A. 2/1/2020 A. B 1/1/2020 B 2/1/2020 C 1/1/2020 C 2/1/2020 C
我怀疑您正在将日期存储为字符串

也许是这样的

SELECT name, MIN(try_convert(date,[date]))
FROM dbo.T
Where try_convert(date,[date]) is not null
GROUP BY name

您的代码符合您的要求。对于此示例数据,它不会返回最小日期的“空白”值,这会使您的问题不清楚。空白还是空?如果为空,那么您的日期是否存储为字符串而不是日期?最好重新设计此类存储,因为基本上您无法说出什么是
1/2/2020
:它是
2020-01-02
还是
2020-02-01
。您永远不会发现错误转换或插入的日期。@astentx毫无疑问,但这可能不是一个选项。这可能是OP接收数据的方式。这些年来,我不得不消耗一些可怕的数据。是的,模棱两可的日期是我最讨厌的,但我确实假设了M/D/Y。如果不是,设置日期格式DMY将是一件小事。