-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
赛题描述
实现表达式功能。
各种表达式运算是SQL的基础,有了表达式,才能使用SQL描述丰富的应用场景。
这里的表达式仅考虑算数表达式,可以参考现有实现的calc语句,可以参考 表达式解析 ,在SELECT语句中实现。
如果有些表达式运算结果有疑问,可以在MySQL中执行相应的SQL,然后参考MySQL的执行即可。比如一个数字除以0,应该按照NULL类型的数字来处理。
当然为了简化,这里只有数字类型的运算。
赛题地址
往年情况
2022年
- 查询中支持运算表达式,这里的运算表达式包括 +-*/。运算只需要考虑整数和浮点数的转换。
- 仅支持基本数据的运算即可,不对date字段做考察。 运算出现异常,按照NULL规则处理。
- 只会出现在select语句中。
- 需要考虑聚合运算。
测试用例示例:
select * from t1,t2 where t1.age +10 > t2.age * 2 + 3-(t1.age +10)/3;
select t1.col1+t2.col2 from t1,t2 where t1.age +10 > t2.age *2 + 3-(t1.age +10)/3;
select min(col1)+avg(col2)*max(col3) from exp_table where id < 10;2021年
查询中支持运算表达式,这里的运算表达式包括 +-*/。
仅支持基本数据的运算即可,不对date字段做考察。
运算出现异常,按照NULL规则处理。
只需要考虑select。
Reactions are currently unavailable