MySQL数据库中空字符和弱类型的讨论

 2024-02-24 00:05:32  阅读 0

本文作者:小刘某(实验室SRSP TEAM团队成员)

字符型输出是啥意思_字符型输出是什么意思_字符意思输出型是什么类型

故事是这样开始的:

字符型输出是啥意思_字符型输出是什么意思_字符意思输出型是什么类型

美丽的故事总是发生在夜深人静的时候(人们想睡觉的时候):

通用密码造成了麻烦。 我的直觉告诉我,它实际上应该相当于:

* 来自 =0 的用户;

但仔细一想,我觉得事情并没有那么简单:

于是我找到了我的大哥并讨论了:

字符型输出是啥意思_字符型输出是什么意思_字符意思输出型是什么类型

那么从数据库原理的角度来说,如何解释呢? ? ?

所以我让他先自己想一想,准备深入了解数据库原理:

字符型输出是啥意思_字符型输出是什么意思_字符意思输出型是什么类型

辩论期间事情往往会变得有趣:

字符意思输出型是什么类型_字符型输出是什么意思_字符型输出是啥意思

也许我的说法不是很准确,但他没有做比较,所以随着测试的深入,问题变得更有趣:

你会发现''+0+''也是可以的

字符型输出是什么意思_字符型输出是啥意思_字符意思输出型是什么类型

还可以发现''*0*''也是可以的

字符意思输出型是什么类型_字符型输出是啥意思_字符型输出是什么意思

那么''^0^''也是可以的

字符型输出是什么意思_字符型输出是啥意思_字符意思输出型是什么类型

四种算术运算和幂运算全部可用,并且输出结果一致! ? ! ?

伟大的哲学家总能发现问题。 这时候强哥成功投下一波重磅炸弹

字符型输出是什么意思_字符意思输出型是什么类型_字符型输出是啥意思

字符型输出是什么意思_字符型输出是啥意思_字符意思输出型是什么类型

问题变得越来越扑朔迷离,感觉像是一连串悬疑案件交织在一起!

这时候看来''和null的问题来了

字符型输出是啥意思_字符型输出是什么意思_字符意思输出型是什么类型

字符型输出是什么意思_字符型输出是啥意思_字符意思输出型是什么类型

字符型输出是什么意思_字符意思输出型是什么类型_字符型输出是啥意思

在MySQL数据库中,''是空字符,null表示空。 两者内容不同。 问题的魔力往往在于:

字符型输出是什么意思_字符意思输出型是什么类型_字符型输出是啥意思

字符型输出是啥意思_字符意思输出型是什么类型_字符型输出是什么意思

看到这里你是不是一头雾水? 这时候我们就会想到MySQL的弱类型

字符型输出是什么意思_字符型输出是啥意思_字符意思输出型是什么类型

如果类型是弱的,它会自行转换,所以此时1337和'1337'没有区别。

所以为了进一步验证我们的想法,我们设置了一些其他的查询语法

字符型输出是啥意思_字符型输出是什么意思_字符意思输出型是什么类型

从上面的输出结果来看,在进行字符操作时,MySQL中的所有字符都在

视为0; 当字符前面有数字时,则将该数字作为该字符串的值。

字符意思输出型是什么类型_字符型输出是啥意思_字符型输出是什么意思

至此问题基本解决了,我们测试一下

字符意思输出型是什么类型_字符型输出是啥意思_字符型输出是什么意思

所以这里可以看出,''字符在进行运算时也被视为零。

这时候我们发现下面这句话

字符意思输出型是什么类型_字符型输出是什么意思_字符型输出是啥意思

既然已经到了这一步,我们还不如继续玩下去,给自己制造点麻烦,只有你可以

思考解决问题。 。 。 。 。 。

字符型输出是啥意思_字符型输出是什么意思_字符意思输出型是什么类型

字符意思输出型是什么类型_字符型输出是啥意思_字符型输出是什么意思

于是经过一系列询问,我们最终得出以下结论:

字符型输出是什么意思_字符型输出是啥意思_字符意思输出型是什么类型

字符意思输出型是什么类型_字符型输出是什么意思_字符型输出是啥意思

说说MySQL的黑暗语法

所以这个世界上不仅有阳光,还有黑夜(心里有无数草泥马驰骋)

字符意思输出型是什么类型_字符型输出是什么意思_字符型输出是啥意思

最后总结一下:

1、MySQL数据库中的数据是弱类型的。 弱类型字符在四次算术运算中将被视为 0。

2. MySQL中''和NULL是两个不同的值。

3. ''(空字符)遇到运算符时也会被视为0。

4.你必须了解MySQL中的暗语法,也许它是通用密码。 比如这个POC使用了MySQL的弱类型,使得查询条件最终变成=0

查询时,(va)char类型会按首字母为0进行处理,从而输出查询结果。

此时此刻,我的脑海里充满了哥德巴赫的猜想和华罗庚爷爷的一袋袋纸莎草纸。 。 。 。 。 。

参考链接:

扫描下方二维码加入星球学习

加入后,您将被邀请进入内部微信群。 内部微信群永久有效!

字符型输出是啥意思_字符型输出是什么意思_字符意思输出型是什么类型

字符意思输出型是什么类型_字符型输出是啥意思_字符型输出是什么意思

字符型输出是啥意思_字符意思输出型是什么类型_字符型输出是什么意思

字符型输出是什么意思_字符意思输出型是什么类型_字符型输出是啥意思

字符意思输出型是什么类型_字符型输出是什么意思_字符型输出是啥意思

标签: 字符 运算 语法

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码