微慑信息网

MYSQL 相关语句学习

1、翻了下msyql问文档,貌似没看到对select中 and or的描述;

 

结论:

当字符串全部为字母,则0
当字符串第一个字符为数字,则为1
当字符串第一个字符为+-.,后面紧跟为数字时,为1

当空值null 与数字 ,则为0;与0 则为null
::null介于1与0 之间

 

2、SQL语句的短路 and 短路or:

mysql中 and即&& or即 || 本身为短路与或;

 

 

 

3、nullif(a,b):

当a=b,则返回null,当a!=b 则返回a;

类似于

CASE  WHEN a= b THEN NULL ELSE   a  END

4、ifnull(a,b):

假如b不为NULL,则 IFNULL() 的返回值为a; 否则其返回值为 b。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境

 

在实战中,结合ifnull/nullif,构造比较简单的语句:

title_id=123″ OR IFNULL((nullif(length(database()),12)),SLEEP(1)) and “1”=”1

 

5、更多可参考https://www.t00ls.net/viewthread.php?tid=55278

 

6、MySQL文档地址:

https://dev.mysql.com/doc/refman/8.0/en/control-flow-functions.html

 

 

 

 

 

 

本文标题:MYSQL 相关语句学习
本文链接:
(转载请附上本文链接)
http://vulsee.com/archives/vulsee_2020/0606_11283.html
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » MYSQL 相关语句学习
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

微慑信息网 专注工匠精神

访问我们联系我们