Mysql 当表结构中某个字段为关键字时,直接在where后面作条件查询会报错,需要给用关键字作查询条件的字段加上Tab键上面的键引号

一篇关于如何使用SQL从bd_student表中筛选喜欢打排球的学生,但因语法错误(desc=‘喜欢打排球’)导致1064错误的博客。提示检查MySQL服务器手册以修正语句。

`select * from bd_student where desc = ‘喜欢打排球’

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘desc = ‘喜欢打排球’’ at line 1
时间: 0s
`在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MySQL中,针对`datetime`类型字段根据条件查询某个间段内的数据,有多种方法。 ### 使用`BETWEEN`关键字 `BETWEEN`关键字可用于指定一个范围,语法为`column_name BETWEEN value1 AND value2`。例如,要查询从2017年6月1日到2017年8月7日之间的数据: ```sql SELECT a.日期字段 ,COUNT(*) cnt FROM 表名 a WHERE a.日期字段 BETWEEN '2017-06-01' AND '2017-08-07' GROUP BY a.日期字段; ``` 此示例中,`日期字段`为`datetime`类型。该查询会筛选出`日期字段`在指定间段内的数据,并按`日期字段`分组统计数量[^1]。 ### 使用比较运算符 可以使用`>=`(大于等于)和`<=`(小于等于)来指定间段。例如,查询`add_time`字段在`beginTime`和`endTime`之间的数据: ```sql SELECT * FROM tr WHERE DATE_FORMAT(tr.add_time, '%Y-%m-%d') >= DATE_FORMAT('beginTime', '%Y-%m-%d') AND DATE_FORMAT(tr.add_time, '%Y-%m-%d') <= DATE_FORMAT('endTime', '%Y-%m-%d'); ``` 这里使用`DATE_FORMAT`函数将`add_time`字段格式化为`%Y-%m-%d`的日期格式,然后进行比较。`beginTime`和`endTime`可根据实际情况替换为具体的日期值[^3]。 ### 使用`DATE_SUB`函数 `DATE_SUB`函数可用于计算日期差值。例如,查询在当前日期前30天内的数据: ```sql SELECT fullName,addedTime FROM t_user WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(addedTime); ``` 此查询会筛选出`addedTime`字段在当前日期前30天内的数据,`CURDATE()`函数返回当前日期,`DATE_SUB`函数用于计算30天前的日期,`date(addedTime)`函数用于提取`addedTime`字段的日期部分[^5]。 ### 使用`PERIOD_DIFF`函数 `PERIOD_DIFF`函数可用于计算两个日期之间的月份差值。例如,查询与当前日期相差1个月的数据: ```sql SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( 字段名, '%Y%m' ) ) = 1; ``` 此查询会筛选出`字段名`与当前日期相差1个月的数据,`now()`函数返回当前日期和间,`date_format`函数用于将日期格式化为`%Y%m`的形式,`PERIOD_DIFF`函数用于计算月份差值[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值