Mysql between and not between

本文介绍了一种使用SQL查询特定日期范围内记录的方法。通过两个SQL语句示范如何统计及列出指定表中从1900年到9999年间的全部记录。此技巧适用于需要按日期范围筛选数据的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select count(*) from tablename where create_date between '1900-1-1' and '9999-12-31' 

要将所有数据列下来
select * from tablename where create_date between '1900-1-1' and '9999-12-31'
### MySQL BETWEEN AND 的用法与语法 在 MySQL 中,`BETWEEN AND` 是一种用于范围查询的操作符,其基本语法如下: ```sql SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2; ``` 此语法表示从 `table_name` 表中选择满足条件 `column_name` 在 `value1` 和 `value2` 范围内的所有记录[^2]。需要注意的是,`BETWEEN AND` 包含边界值,即符合条件的记录包括 `value1` 和 `value2` 本身。 #### 示例:基于年龄范围的查询 以下是一个使用 `BETWEEN AND` 查询用户表中年龄在 23 到 25 岁之间的示例: ```sql SELECT * FROM user WHERE age BETWEEN 23 AND 25; ``` 上述查询将返回 `age` 列值在 23 到 25(包括 23 和 25)的所有记录[^3]。 #### 示例:基于日期范围的查询 `BETWEEN AND` 还可以用于日期或时间类型的字段。例如,查询 `create_time` 在指定日期范围内的记录: ```sql SELECT * FROM user WHERE create_time BETWEEN '2024-10-29 00:00:00' AND '2024-10-30 23:59:59'; ``` 此查询将返回 `create_time` 在 2024 年 10 月 29 日至 2024 年 10 月 30 日之间的所有记录[^3]。 #### 示例:结合 NOT 操作符 如果需要排除某个范围的记录,可以使用 `NOT BETWEEN`: ```sql SELECT * FROM user WHERE age NOT BETWEEN 23 AND 25; ``` 这条语句将返回所有 `age` 不在 23 到 25 范围内的记录[^2]。 #### 注意事项 - `BETWEEN AND` 的两个边界值必须按从小到大的顺序书写,否则会导致查询结果为空。 - 如果数据类型为字符串,则会根据字典序进行比较[^2]。 ```sql -- 查询名字在 '李四' 和 '王五' 之间的记录 SELECT * FROM user WHERE name BETWEEN '李四' AND '王五'; ``` #### 数据准备 为了验证以上查询语句的效果,可以使用以下建表和插入数据的 SQL 语句: ```sql CREATE TABLE user ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '主键id', name VARCHAR(10) NULL COMMENT '姓名', age INT NULL COMMENT '年龄', salary INT NULL COMMENT '工资', create_time DATETIME COMMENT '创建时间戳' ); INSERT INTO user(name, age, salary, create_time) VALUES ('张三', 23, 100, '2024-10-29 10:01:22'), ('李四', 24, 200, '2024-10-30 09:44:22'), ('王五', 25, 300, '2024-10-30 10:01:22'), ('赵六', 26, 400, '2024-10-31 07:01:23'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值