gpt4 book ai didi

MySql 选择 Mix 和 Max 年

转载 作者:行者123 更新时间:2023-11-28 23:53:34 26 4
gpt4 key购买 nike

大家好,我正在开发一个 php 和 mysql 应用程序。我想从年份中选择最小值和最大值。它应该显示正确的年份,如下所示:

Min = 1998
Max = 2014

我的表结构如下

表:学生

year varchar(32)    utf8_unicode_ci 
-------------------------------
06-04-2012
02-05-2014
19-04-1999
05-05-2014
06-04-1998

我尝试使用 MySql Min 和 Max,但效果不佳。

SELECT MIN(`year`) AS Year FROM `Students`

SELECT Max(`year`) AS Year FROM `Students`

请帮我解决这个问题。

最佳答案

您不应将日期存储为字符串。您应该将它们存储为日期。

但是,因为你有这种格式,你可以使用 right() 函数来获取年份:

select min(right(year, 4)), max(right(year, 4))
from students;

如果出于某些不可理解的原因,您确实必须将日期存储为字符串,则使用 ISO 标准 YYYY-MM-DD 格式。

如果你想将所有值中的最小值作为日期,则将其转换为日期:

select min(str_to_date(year, '%d-%m-%Y')), max(str_to_date(year, '%d-%m-%Y'))
from students;

但是,您应该首先使用正确的数据类型存储日期。

关于MySql 选择 Mix 和 Max 年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32167090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com