各个数据库语法的不同
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
而mysl和sybase则不需要。具体参考mon.database.daoAPViewAPDaoImp中
loadApPosiStat()方法。
2、对于取符合条件的数据的前几条:sl server、sybase和mysl均不同,具体可参考:mon.database.dao.PerfStaDAO中getIpList()方法。
3、对于查询语句中的round()函数,sybase与sl server、mysl不同,具体参考: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