mysql bitxor_mysql和oracle常用内容比较

注释

oracle使用的是:–(两个-) ,批量注释 /**/ 。

mysql使用的是:# ,批量注释 /**/ 。

通配符的使用

mysql和oracle都支持通配符’%',用以模糊查询,mysql还可以用instr(para1,para2)函数来做匹配查询,速度更快,para1是原字符串,可以是表的字段,para2是需要匹配到的字符串。

自增长数据类型的处理

oracel没有自动增长的数据类型,需要建立序列号,插入记录时,对该序列号使用nextval方法获取数据值。

mysql有自动增长的数据类型,插入记录时不用操作该字段,自动获取增长值。

字符串单引号双引号的处理

oracel只能使用单引号包起字符串。

mysql对字符串可以使用单引号和双引号,两个都支持。

按位与函数

oracle的按位与操作是: bitand(),按位或:bitor() 、按位异或:bitxor() 。

eg:select bitand(3,2) from dual ;

mysql的按位与是 & ,按位或:| 、按位异或: ^ 。

eg:select 3&2 ;

from子句

mysql可以没有from字句,oracle则是需要的,如查询系统当前时间:

oracle:

select sysdate from dual

mysql:

select sysdate();

查询结果数据分页

orale使用rowmum限制查询返回的总行数,是oracle系统顺序分配查询返回的行的编号,返回的第一行分配的是1。

因为rownum总是从1开始,当rownum=n或rownum>n时(n>1的自然数),系统认为是false条件,所以无法查到。即rownum只支持小于判断,用于返回多少条以内的记录.如果想要返回的记录是一个区间,需要定义一个子查询,并且为子查询的rownum命名一个别名.如想要返回一个表的第二条和第三条记录:

select * from (select rownum no,col1,col2 from table where rownum=2

另外,rownum不能以任何表的名称作为前缀。

mysql使用limit分页,limit 子句可以被用于强制 select语句返回指定的记录数。limit接受一个或两个数字参数。参数必须是一个整数常量。第一个参数指定第一个返回记录行的偏移量,可缺省,默然为0,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0。

eg:select * from table limit 5,10; #检索记录行 6-15

#为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1 :

select * from table limit 95,-1; # 检索记录行 96-last.

#如果只给定一个参数,它表示返回最大的记录行数目:

select * from table limit 5; # 检索前 5 个记录行,换句话说,limit n 等价于 limit 0,n。

日期字段处理

orale日期字段只有date,mysql日期字段分date和time两种。

oracle的时间系统函数是sysdate。

mysql:

current_date/curdate() ,以’YYYY-MM-DD’或YYYYMMDD格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。

current_time/curtime() ,以’HH:MM:SS’或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。

now()/sysdate(),以’YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用.

now()/sysdate()函数以’YYYY-MM-DD HH:MM:SS’返回当前的日期时间,可以直接存到datetime字段中。curdate()以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。CURTIME()以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。

查询一个表,其日期字段date_col的值系统时间30天以内

oracle

SELECT * FROM table WHERE date_col >= sysdate – 30

mysql:

select * from table where to_days(date_col) >= to_days(now()) – 30;

select date_sub(now(),interval 30 day); # select date_add(now(),interval 1 day); date_add 是增加

日期格式

oracle 使用to_char()函数

select to_char(sysdate,’yyyy-mm-dd’) from dual;

select to_char(sysdate,’hh24:mi:ss’) from dual;

mysql 使用date_format() 或 time_format()

select date_format(now(),’%Y-%m-%d’);

select time_format(now(),’%H-%i-%S’);

附上mysql的参考手册

http://dev.mysql.com/doc/refman/5.1/zh/index.html

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-10-09 09:15

浏览 949

分类:非技术

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值