Oracle,SqlServer,mysql的在sql习题中的差别

今日的我,有些郁闷,sql习题做的好好的,但就是有一道题一直卡着,做了这道题我就可以升级为三颗星了
Weather Observation Station 13这题简直就是有毒吧

在这里插入图片描述
这题是说对LAT_N这个属性进行求和,但是要用Truncate这个函数把数值精确到小数点后四位,同时要求38.7880<LAT_N<137.2345
在这里插入图片描述
上面是我写的,下面是我看评论区的外国友人的解答,但是单独运行的时候,我的就显示错误,他们的答案又可以,我真的是很开心
在这里插入图片描述
好吧,它说咱TRUNCATE这个函数附近有标点函数的错误,人嘛,知错要改
我们就按照上面外国友人的答案修改一下格式吧
首先改一下我们的分号,那就去掉嘛,因为一般书上都会有分号,这分号,不要也罢,我刘家赘婿,岂是你一个区区分号就能打败的?
然后仔细比对,哦,4前面那里是不是要加个空格呀,好像大于符号和小于符号左右都有空格,我是不是写太近了所以编译器不认识,至于其他行开头的空格,是他个人的书写习惯吧,那我们就试运行一下吧
在这里插入图片描述
我就呵呵了,那我改的和你一模一样叻
在这里插入图片描述
大家一起来找不同现在我算是写的一模一样了吧,连 空格都完美复制,大小写也完全一致,简直就是孪生兄弟,还有谁?那就再试试吧
在这里插入图片描述
果然是试试就逝世在这里插入图片描述
那我再运行外国友人的呢
在这里插入图片描述
抓不住爱情的我,总是眼睁睁看它流走
哈哈哈,可能有朋友看出问题了
我是在MYSQL中运行成功的,SQL SERVER中这个代码并不行
好像是因为SQL SERVER中TRUNCATE这个指令只是用来删除表数据的,并没有这个函数功能
mysql里面TRUNCATE才是用来截取小数位数的
那我们试试在SQL SERVER中用round函数呢在这里插入图片描述
还是不行诶,难道是进位的时候刚好?所以后面都变成0了?在这里插入图片描述
果然,它就这么巧
那就用convert函数,这个例子说明的convert函数又不是很详细,我理解的convert(数值类型(长度,保留的小数位数),你的原始数值)
在这里插入图片描述
然后有错了,我泪了,不过相信学计算机的各位都是这样痛苦过来的,我现在已经没有感觉了,说的是number不是系统定义的类型
于是我又查了一下在这里插入图片描述
那就改!
在这里插入图片描述
孩子哭了,终于行了
要运行我就三个库都跑一下,着实被这道题气到了
在这里插入图片描述
呵呵,所以说很容易混啊,为什么我前面要加分号,这是oracle的语法啊在这里插入图片描述
我还就要豪横一下,让你气我,终于完了这道题,完结撒花✿✿ヽ(°▽°)ノ✿
在这里插入图片描述
谢谢你的认可,我终于三星了呜呜呜,巴适

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值