Open Selflocking opened 1 year ago
实现表达式功能。
各种表达式运算是SQL的基础,有了表达式,才能使用SQL描述丰富的应用场景。
这里的表达式仅考虑算数表达式,可以参考现有实现的calc语句,可以参考 表达式解析 ,在SELECT语句中实现。
如果有些表达式运算结果有疑问,可以在MySQL中执行相应的SQL,然后参考MySQL的执行即可。比如一个数字除以0,应该按照NULL类型的数字来处理。
当然为了简化,这里只有数字类型的运算。
https://open.oceanbase.com/train/TopicDetails?questionId=600004&subQesitonId=800018&subQuestionName=expression
测试用例示例:
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;
https://open.oceanbase.com/train/TopicDetails?questionId=500003&subQesitonId=700065&subQuestionName=expression
查询中支持运算表达式,这里的运算表达式包括 +-*/。
仅支持基本数据的运算即可,不对date字段做考察。
运算出现异常,按照NULL规则处理。
只需要考虑select。
https://open.oceanbase.com/train/TopicDetails?questionId=200001&subQesitonId=400015&subQuestionName=expression
赛题描述
实现表达式功能。
各种表达式运算是SQL的基础,有了表达式,才能使用SQL描述丰富的应用场景。
这里的表达式仅考虑算数表达式,可以参考现有实现的calc语句,可以参考 表达式解析 ,在SELECT语句中实现。
如果有些表达式运算结果有疑问,可以在MySQL中执行相应的SQL,然后参考MySQL的执行即可。比如一个数字除以0,应该按照NULL类型的数字来处理。
当然为了简化,这里只有数字类型的运算。
赛题地址
https://open.oceanbase.com/train/TopicDetails?questionId=600004&subQesitonId=800018&subQuestionName=expression
往年情况
2022年
测试用例示例:
https://open.oceanbase.com/train/TopicDetails?questionId=500003&subQesitonId=700065&subQuestionName=expression
2021年
查询中支持运算表达式,这里的运算表达式包括 +-*/。
仅支持基本数据的运算即可,不对date字段做考察。
运算出现异常,按照NULL规则处理。
只需要考虑select。
https://open.oceanbase.com/train/TopicDetails?questionId=200001&subQesitonId=400015&subQuestionName=expression