这里主要列举3个函数:mid(),substr(),left()
mid()函数 MID(column_name,start[,length])
column_name | 必需。要提取字符的字段 |
start | 必须。规定开始位置(起始值为1) |
length | 可选。要返回的字符数。如果省略,则 MID() 函数返回剩余文本。 |
例:str='12346' mid(str,2,1) 结果为2
SQL用例:
(1)MID(DATAEBASE(),1,1)>'a' 查询数据库名中的第一位的第一个字符。
(2)MID((SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE T table_schema=0xxxxxxx LIMIT 0,1),1,1)>’a’此处column_name参数可以为sql语句,可自行构造sql语句进行注入。
substr()函数
(1) substr(DATABASE(),1,1)>’a’,查看数据库名第一位,substr(DATABASE(),2,1)查看数据库名第二位,依次查看各位字符。
(2) substr((SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE T table_schema=0xxxxxxx LIMIT 0,1),1,1)>’a’此处string参数可以为sql语句,可自行构造sql语句进行注入。
Left()函数
Left ( string, n ) string为要截取的字符串,n为长度。
(1) left(database(),1)>’a’,查看数据库名第一位,left(database(),2)>’ab’,查看数据库名前二位。
(2) 同样的string可以为自行构造的sql语句。
参考文章:http://www.cnblogs.com/lcamry/p/5504374.html