SqlServer转Oracle时代码注意事项
来源:互联网 发布:php 异步执行函数 编辑:程序博客网 时间:2024/06/07 01:34
Oracle:nvl
SqlServer:isnull
insert,update,delete等用分号隔开的sql语句,必须前加begin,后加commit;end;并且去掉中间所有的\r\n。
select时,一个sql语句中不能包含多个select语句
/// <summary>
/// 将在SqlServer中,用分号隔开的多句sql语句,改为在Oracle中执行的Sql
/// 前面加begin,后面加end,去掉所有的\r\n
/// </summary>
/// <param name="_sqlserverSql"></param>
/// <returns></returns>
public static string ConvertMultipleSqlFromSq
{
}
Oracle中,在sql中做除法时,需要进行以下操作,否则c#中会算术溢出
round(count(*)/(cast(3 as float)), 28)
日期在SqlServer中可以按照字符串操作,但在Oracle中不行
--Oracle中插入时也必须做如下转换
Oracle:to_date('2010-12-21 12:02:30','YYYY-MM-DD HH24:MI:SS')
--SqlServer插入或者where子句中都可以直接使用字符串,但where子句中使用字符串,会加快查询速度
SqlServer:convert(datetime,''2010-12-21 12:02:30')
想要保存一个时间的毫秒数,Oracle中的字段类型必须为timestamp,不能为date,因为date只保存时间值到秒。
--Oracle中插入时也必须做如下转换
Oracle:to_timestamp('2010-12-21 12:02:30.230940','YYYY-MM-DD HH24:MI:SS.FF')
--SqlServer插入或者where子句中都可以直接使用字符串,但where子句中使用字符串,会加快查询速度
SqlServer:Convert(datetime,'2010-12-21 12:02:30.230940')
sql中日期想减得到秒的方法
Oracle: CAST((sysdate- to_date('2010-12-21 12:02:30','YYYY-MM-DD HH24:MI:SS'))*24*60*60
SqlServer:CONVERT(float, datediff(second, to_date('2010-12-21 12:02:30','YYYY-MM-DD HH24:MI:SS'), getdate()))
Oracle中字段不允许存入'',即空字符串,只有null值,所以where子句中判断空值方法为:
Oracle:字段名
SqlServer:(字段名
判断不为空值的方法
Oracle:字段名
SqlServer:(字段名
Oracle中Top N的写法:
--注意:Order by要写在子查询里,rownum是从1开始的
(
)
where rownum <100
(
)
where num > 3 and num < 10
11
Oracle中,给表定义别名的时候不能加as
例如:select * from 表名 as 别名!!!!注意,这是错误的,正确的应该是
select * from 表名
12
Oracle中,字段的别名不能加单引号
例如:select 字段名 as '别名' from dual!!!!注意,这是错误的,正确的应该是
select 字段名 as 别名 from dual
13
Oracle中没有select sysdate as nowDate的写法,正确的应该是加个虚表dual
select sysdate as nowDate from dual
14
Oracle中,字段名,表名,别名,索引名,视图名等名称的长度不能超过30个字符
15
Oracle中,字段名都是大写的,即使select语句中是小写,得到的结果也是大写。因此,select到DataTable中后,binding到wpf时如果大小写不同,会绑定失败。在DataTable中分组和排序,也会失败。因此,尽量将DataTable中的字段名称改为大写。
16
Oracle中的Integer类型,在C#中是Decimal,因此,在C#中从DataTable取值进行类型转换时:
若要转成Int类型,需使用Convert.ToInt32,而不能使用(int),否则会报错
若要转成Bool类型,需使用Convert.ToBoolean,而不能使用(bool),否则会报错
- SqlServer转Oracle时代码注意事项
- Access转SqlServer的注意事项
- Access转SqlServer的注意事项
- Access转SqlServer的注意事项
- Access转SqlServer的注意事项
- Access转SqlServer的注意事项
- Oracle 转换 SqlServer (转)
- [转]浅谈ACCESS数据库升迁SQLSERVER注意事项
- Access转MS SqlServer的注意事项
- 中国名创access转sqlserver注意事项
- oracle 新手注意事项(转)
- oracle 新手注意事项(转)
- sqlserver发布注意事项
- PHP连接 SQLSERVER 注意事项
- 安装SQLserver的注意事项
- sqlserver连接oracle(l转)
- mssql转Oracle某些注意事项
- oracle -- sqlserver
- 关于oracle下提示ORA-00904:Invalid identifier错误的问题
- spring+ibatis
- sqlite时间函数及时间处理
- 20 个简化开发任务的 JavaScript 库
- php-configure错误解决
- SqlServer转Oracle时代码注意事项
- Oracle中设置自增id
- 计算机网络之初步认识
- Oracle修改默认时间格式
- Fragment详解之六——如何监听fragment中的回退事件与怎样保存fragment状态
- Oracle 获取当前年、月、日
- php解压缩文件方法汇总
- Discuz 站点URL静态化(修改.htaccess文件设置Rewrite规则)
- 【多题合集】高精度加减乘除