首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于MySql中有评论的结果的疑问

关于MySql中有评论的结果的疑问
EN

Stack Overflow用户
提问于 2019-06-21 23:04:29
回答 1查看 811关注 0票数 0

对MySql中有评论的结果表示怀疑

最近,我遇到了一个代码的问题,我得到了一个奇怪的结果。几分钟后,我就能找到结果了。我做了这个简单的测试,以检查我的查询是否有问题:

代码语言:javascript
运行
复制
select
NOW()as date_1,
'4: 33.32%' as string_1, 
--- comment,
NOW() as date_2, 
--- comment
'4: 33.32%' as string_2 

我得到了这个结果:

不巧的是,我对这两个评论都做了这个小小的改动:

代码语言:javascript
运行
复制
select
NOW()as date_1,
'4: 33.32%' as string_1, 
--- comment,
NOW() as date_2, 
--- comment
'4: 33.32%' as string_2, 
-- - comment,
NOW() as date_3, 
-- - comment
'4: 33.32%' as string_3

这样,我就有了正确的答案:

然而,我对第二个日期和字符串之前的评论有疑问。为什么连续第三个连字符会影响结果以及它强制执行的计算是什么。

版本: 10.3.8-MariaDB

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-21 23:49:03

SQL注释以--<space>开头。当您编写---<space>时,第一个-不是注释的一部分,它是注释之前的减号。所以就像你写的

代码语言:javascript
运行
复制
select
NOW()as date_1,
'4: 33.32%' as string_1, 
- -- comment,
NOW() as date_2, 
- -- comment
'4: 33.32%' as string_2, 
-- - comment,
NOW() as date_3, 
-- - comment
'4: 33.32%' as string_3

当您删除注释时,这相当于

代码语言:javascript
运行
复制
select
NOW()as date_1,
'4: 33.32%' as string_1, 
- NOW() as date_2, 
- '4: 33.32%' as string_2, 
NOW() as date_3, 
'4: 33.32%' as string_3

-操作符首先将其操作数转换为数字,因此NOW()中的日期被转换为数字20190621200233,字符串'4: 33.32%'被转换为number 4.000。然后,-运算符返回这些数字的负数,因此在结果中可以看到-20190621200233-4.000

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56711297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档