sql server中的CONVERT(varchar(12),createDate,112)在oracle中怎么写  难道写to_char  ?
项目需要oracle 和sqlserver都要能用 各位大侠有什么好的解决方案吗?
还有时间段查询 oracle要转成date类型
sqlserver
SQL codeselect * from student where stime>'2012-01-12'
oracle
SQL codeselect * from student where stime>to_date('2012-01-12') 
各位大侠有什么好的解决方案吗?

解决方案 »

  1.   

    数据库函很多都不兼容,如果要兼容多种数据库,可以在配置文件中加个数据库类型字段,然后程序中读取配置文件,根据不同的数据库类型执行不同的sql。可以这样说,基本上没有万能的sql,除非你是神,才能写出简单的通用sql,复杂的,神都办不到。我以前做过一个项目,兼容各种数据库,数据库类型配置好,每条sql都有n个版本,当初哥在oracle下写的代码,跑到sybase上去测,被搞残了……
      

  2.   

    你那个是日期的嘛,
    就用to_char(createDate,'yyyy-mm-dd')
    如果要到时分秒的话,就用
    to_char(createDate,'yyyy-mm-dd hh24:mi:ss')