各个数据库语法的不同

而mysl和sybase则不需要。具体参考https://www.360docs.net/doc/2b4634684.html,mon.database.daoAPViewAPDaoImp中

loadApPosiStat()方法。

2、对于取符合条件的数据的前几条:sl server、sybase和mysl均不同,具体可参考:https://www.360docs.net/doc/2b4634684.html,mon.database.dao.PerfStaDAO中getIpList()方法。

3、对于查询语句中的round()函数,sybase与sl server、mysl不同,具体参考:https://www.360docs.net/doc/2b4634684.html,mon.database.dao.PerfStaDAO中 getIps()方法。

4、sybase对大小写敏感,必须保证数据库中、拼的sl语句中、hibernate配置文件中大小写一致,否则会报错查不到数据。

5、如果要判空应涉及到是否为null、‘’、空格三种。因为sybase会把插入的‘’默认为空格插入。

6、对于查询语句中如果是字符一定要加单引号,如果是整型一定不要加单引号,sybase对此很敏感。

7、Level、count是sybase的关键字,起字段名或别名是不要用。

file、USER、rule、view为sl server中的关键字,,起字段名或别名是不要用。

8、对于max、avg、sum等函数中的字段如果是varchar型,sl server和mysl直接在字段名后加0就可以,eg:max(num+0),但是sybase应用convert函数先对其进行转换,eg:max(convert(numeric(18,0),num))

9、自增长:sybase:id numeric(15,0) identity

SlServer:id int IDENTITY(1,1) NOT NULL

Mysl:`id` int(11) NOT NULL auto_increment

10、slserver/sybase 批量插入记录时,对有标识列的字段要设置 set IDENTITY_INSERT 表名 on,然后再执行插入记录操作;插入完毕后恢复为 off 设置格式: set IDENTITY_INSERT 表名 on set IDENTITY_INSERT 表名 off(具体在slserver和sybase中dbserver_data.sl中有体现)

11、解决sybase乱码问题:(用以下的方法,也可以在server config中配置) 解决乱码:(默认装到c:)

1.c:\>cd \sybase\charsets\cp936(utf8)

2.c:\sybase\charsets\cp936> charset -Usa -P -Sxueyijuan binary.srt cp936(charset –Usa –Pxxx –Sxxx nocase.srt utf8)

3.在SL环境中(直接在命令行处写isl) 1>select name,id from syscharsets

2>go

找到name为cp936对应的id(假设为171)

4.1>sp_configure &uot;default character set id&uot;,171

相关文档
最新文档