ORACLE和SQL语法区别归纳
ORACLE和SQL语法区别归纳
数据类型比较
类型名称
Oracle
SQLServer
比较
字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb
变长字符数据类型 VARCHAR2 VARCHAR Oracle里面最大长度为4kb,SQLServer里面最大长度为8kb
根据字符集而定的固定长度字符串 NCHAR NCHAR 前者最大长度2kb后者最大长度4kb
根据字符集而定的可变长度字符串 NVARCHAR2 NVARCHAR 二者最大长度都为4kb
日期和时间数据类型 DATE 有Datetime和Smalldatetime两种 在oracle里面格式为DMY在SQLSerser里面可以调节,默认的为MDY
数字类型 NUMBER(P,S) NUMERIC[P(,S)] Oracle里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。
数字类型 DECIMAL(P,S) DECIMAL[P(,S)] Oracle里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。
整数类型 INTEGER INT 同为整数类型,存储大小都为4个字节
浮点数类型 FLOAT FLOAT
实数类型 REAL REAL
ORACLE内部函数大全以及与SQLSERVER的区别:
下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数。
函数 Oracle Microsoft SQL Server
把字符转换为ASCII :ASCII ASCII
字串连接: CONCAT --------------(expression + expression)
把ASCII转换为字符 CHR, CHAR
返回字符串中的开始字符(左起) INSTR ,---------------CHARINDEX
把字符转换为小写 LOWER ---------------------LOWER
把字符转换为大写 UPPER-------------------- UPPER
填充字符串的左边 LPAD --------------------N/A
清除开始的空白 LTRIM--------------------LTRIM
清除尾部的空白 RTRIM --------------------RTRIM
字符串中的起始模式(pattern) INSTR --------------------PATINDEX
多次重复字符串 RPAD --------------------REPLICATE
字符串的语音表示 SOUNDEX --------------------SOUNDEX
重复空格的字串 RPAD --------------------SPACE
从数字数据转换为字符数据 TO_CHAR --------------------STR
子串 SUBSTR --------------------SUBSTRING
替换字符 REPLACE --------------------STUFF
将字串中的每个词首字母大写 INITCAP --------------------N/A
翻译字符串 TRANSLATE ---------------
相关文档:
主要是通过replace和translate来实现
SQL> create view v_tt
2 as
3 select ename||' '||deptno as data
4 from emp;
View created.
SQL> select * from v_tt;
DATA
---------------------------------------------------
SMITH 20
ALLEN 30
WARD 30
JONES 20
MARTIN 30
BLAKE 30
CLARK 10
......
主要方法是通过使用CASE表达式来“标记”一个值是否为NULL。这里标记有两个值,一个表示NULL,一个表示非NULL。这样,只要在ORDER BY子句中增加标记列,便可以很容易的控制空值是排在前面还是排在后面,而不会被空值所干扰。
SQL> select ename,sal,comm from emp;
ENAME SAL COMM
----- ......
1) Delphi向oracle中传递参数 如oracle中的参数名为erpcx
答:如果想从表里取值到oracle,则erpcx:=trim(aq1.fieldbyname('erpcx').AsString);
否则直接用控件名字
语句为
with aperp do
begin
connection:=dm.ADOCerp;
parameters.Clear;&nbs ......
radhat 5.2下安装oracle10g
1、系统需求:
内存:至少512mb,推荐用1g;
硬盘:服务器至少60g;
(一般情况下硬件都能符合要求)
软件包:glibc-2.3.2, libaio-0.3.96
交换空间:
RAM: 0~256MB, SWAP: 3 倍 RAM 大小
RAM: 256~512MB, SWAP: 2 倍 RAM 大小
RAM: >=512MB, SWAP: 10 ......
最近做了几个小小统计的报表界面,由于.net不带group by 的功能,统计起来有时候相当不便,便趁着睡着的时候写了一个类似的方法。
有不足之处或是有更好的方法还望大家指正。
至于效率如何?未知,因为本人的测试数据就是比较少。
/// <summary>
/// SQL Group by
/// </summary>
/// &l ......