gpt4 book ai didi

mysql - 大于DATE(年)A但小于DATE(年)B的sql查询

转载 作者:行者123 更新时间:2023-11-29 06:06:15 26 4
gpt4 key购买 nike

我有一个这样的项目列表:

Field: Name & Field: DOB
- David - 1962
- Robert - 1955
- Tracy - 1980
- Bono - 1964
- Betty - 1968

我需要一个简单的 SQL 查询,它将返回出生年份在 1960 年代(1960-1969)的所有名字。符合这种逻辑的东西:

$sql = "SELECT * FROM employees WHERE DOB => '1960' AND DOB =< '1969' AND ORDER BY name";

仅供引用:目前员工数据库中的 DOB 字段是一个具有 4 个字符指定的 VARCHAR 字段。

有人可以指出此类查询的正确语法吗?

最佳答案

您不应该将日期/时间信息存储为 varchar,但由于您有一种方法可以筛选 1960 年代的生日,那就是只检查前三个字符DOB 字段:

SELECT *
FROM employees
WHERE SUBSTRING(DOB, 1, 3) = '196'
ORDER BY name

您也可以使用您原来的方法,使用以下 WHERE 子句:

WHERE DOB >= '1960' AND DOB <= '1969'

但是,我不喜欢将字符串视为数字,因为如果字符串改变长度,就会发生奇怪的事情。我建议您使用 datetime 来存储您的 DOB 信息。

关于mysql - 大于DATE(年)A但小于DATE(年)B的sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41456720/

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