sybase与mysql转换问题
下面兼容性问题为在动态报告分析程序告警过滤目的库向Mysql兼容的过程中涉及到的:
1、getdate() 函数问题
Mysql数据库中,now() 函数可直接替换,如: select now() 或者 select now()+0
如果只需要日期,可用: select curdate() 或者 select curdate()+0
2、default getdate() 问题
mysql的时间日期字段,不能指定缺省值为函数,如 now()或 curdate(),因此如果代码逻辑上依赖数据库的这个特点,需要修改
而timestamp类型字段,默认情况下,在insert和update会变更时间,
允许设置default now()来实现只在insert的时候赋值,但是在一个表中,却只允许只有一个timestamp类型字段设置非常量的default值
因此,只能是修改所有"insert into tbCurAlarm"的地方,人工为需要使用当前时间作为缺省值的字段,显义赋值now()
涉及到的字段有 dAlarmTimeStamp,dFirstAlarmTimeStamp,dLastAlarmTimeStamp,dLastUpdateTimeStamp
3、=CASE WHEN ... THEN ... ELSE ... END 语法
Mysql中,有对应的语法如下:
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
4、da