Mysql sql查询大于日期(年)A但小于日期(年)B

Mysql sql查询大于日期(年)A但小于日期(年)B,mysql,Mysql,我有这样一个项目列表: 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

我有这样一个项目列表:

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";
$sql=“从DOB=>'1960'和DOB=<'1969'并按姓名排序的员工中选择*”;
仅供参考:目前员工数据库中的DOB字段是一个名称为4个字符的VARCHAR字段

有人能告诉我这样一个查询的正确语法吗?

将查询更改为:

"SELECT * FROM employees WHERE DOB => '1960' AND DOB =< '1969' AND ORDER BY name";
“从DOB=>'1960'和DOB=<'1969'的员工中选择*并按姓名排序”;


“从DOB>='1960'和DOB的员工中选择*,假设您的varchar DOB列只包含数字:

SELECT * 
FROM employees
WHERE CONVERT(DOB, INTEGER) >= 1960
   AND CONVERT(DOB, INTEGER) <= 1969
选择*
来自员工
其中CONVERT(DOB,INTEGER)>=1960
和CONVERT(DOB,INTEGER)您不应该将日期/时间信息存储为
varchar
,但由于您有一种方法可以筛选1960年代的生日,只需检查
DOB
字段的前三个字符:

SELECT *
FROM employees
WHERE SUBSTRING(DOB, 1, 3) = '196'
ORDER BY name
您还可以使用原始方法,使用以下
WHERE
子句:

WHERE DOB >= '1960' AND DOB <= '1969'
你试过这个吗

$sql = "SELECT * FROM employees WHERE DOB Like '%YYY%'AND ORDER BY name";
考虑yyy是196X,因此所有以196开头的dob都将产生

但这还不够具体

从tt1中选择*,其中年份>='1960'和年份应该是
从DOB>='1960'和DOB的员工中使用$sql=“选择*”
select * from tt1 where year >='1960' and year <='1969' order by name
select * from tt1 where year >='1960' and year <='1969' order by name