搜档网
当前位置:搜档网 › Oracle、SQLServer、Symfoware、DB2、SYBASE数据库对比语法及函数

Oracle、SQLServer、Symfoware、DB2、SYBASE数据库对比语法及函数

Oracle、SQLServer、Symfoware、DB2、SYBASE数据库对比语法及函数
Oracle、SQLServer、Symfoware、DB2、SYBASE数据库对比语法及函数

函数比较:

数学函数:

要点:

1.由于各种数据库判断Null的方法不同,所以开发时对应DBMS分开处理。DBMS支持SQL92规定的SQL函数coalesce()时这些操作都封装在getNvlSqlString(String strColName, String strDefaultValue)中,用这个方法可得到相应数据库处

2.Symfoware数据库中没有取余函数,可以使用cast和floor组合来取余,例如:cast(empno-floor(empno/3)*3 as int)

字符函数:

要点:

1.由于各种数据库判断Null的方法不同,所以开发时对应DBMS分开处理。DBMS支持SQL92规定的SQL函数coalesce()时这些操作都封装在getNvlSqlString(String strColName, String strDefaultValue)中,用这个方法可得到相应数据库处

2.注意oracle中取字符子串的方法名与其他数据库不一样

日期函数:

要点:

1.由于各种数据库判断Null的方法不同,所以开发时对应DBMS分开处理。DBMS支持SQL92规定的SQL函数coalesce()时这些操作都封装在getNvlSqlString(String strColName, String strDefaultValue)中,用这个方法可得到相应数据库处

2.各种数据库得到系统时间的方法不同,所以开发时对应DBMS分开处理。

Symfoware数据库中,

current_date -- 系统日期;

current_time -- 系统时间;

current_timestamp -- 系统日期和时间

这些形式都封装在getSysdateName()中,用这个方法可得到相应数据库的系统时间方法

3.各种数据库对日期加减计算的表示是不同的,所以开发时对应DBMS分开处理。这些表现形式都封装在getAddDay 用这个方法可以得到相应数据库的日期加减方法的表示

转换函数:

要点:

各种数据库中类型转换方法可通过PreparedStatement.setXXX()做成不依靠DBMS的处理.

其他单行函数:

统计函数:

要点:

1. SymfoWARE中,使用统计函数count时,不能够使用"count(1)"这样的形式,必须做成"count(*)"。

BMS分开处理。DBMS支持SQL92规定的SQL函数coalesce()时,使用该方法。但Oracle中使用nvl方法。ng strDefaultValue)中,用这个方法可得到相应数据库处理Null值的语句

组合来取余,例如:cast(empno-floor(empno/3)*3 as int)

BMS分开处理。DBMS支持SQL92规定的SQL函数coalesce()时,使用该方法。但Oracle中使用nvl方法。ng strDefaultValue)中,用这个方法可得到相应数据库处理Null值的语句

BMS分开处理。DBMS支持SQL92规定的SQL函数coalesce()时,使用该方法。但Oracle中使用nvl方法。ng strDefaultValue)中,用这个方法可得到相应数据库处理Null值的语句

DBMS分开处理。

相应数据库的系统时间方法

时对应DBMS分开处理。这些表现形式都封装在getAddDaySqlString(String strColName, int nValue)中,

XX()做成不依靠DBMS的处理.

ount(1)"这样的形式,必须做成"count(*)"。

相关主题