mysql查询语句和oracle查询语句的差别大吗?l
首先是大体一致的,只是分页查询时oracle用的伪列(rownum),mysql用的是limit,具体的可以百度一下分页;
另外oracle对sql语句要求更为严格,而且oracle里变量较mysql更多点,oracle中有number型,有大数据类型,mysql没得;
另外举个例子,oracle不能插入为空列,而mysql是可以的(个人觉得,不知道正确与否)。还有他们两者函数有不同之处,如转日期函数oracle是to_date('要转的字符串','格式') -- select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual,而mysql是str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09//都是针对字符串转日期来的。
还有一点,我们常常希望主键可以自动增长,避免我们插入数据时的重复问题,但是oracle不能设置列自动增长,而mysql是可以的,oracle可以用序列加触发器来解决自动增长问题达到与mysql一样的效果。
总体来说百分之九十的sql语句是没区别的。总体来说oracle的格式严格点,对有些字符型的还必须加单引号才能插入,mysql要求就没这么多了。还有当向数据库插入一个日期时,mysql可以直接插入成功,但是oracle需要先转化为sql里面的日期类型才行;oracle较mysql而言更安全,但是收费的,一般大公司用的多。oracle还有存储过程和函数,触发器这些这是mysql没有的。大体就是这样吧。
SQLServer数据库取得当前时间
不同数据库获取方式也是不一样的 Oracle: 系统时间比较熟悉 是select sysdate from dual时间类型获取; select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual;以字符串形式获取 SQL Server: 使用GETDATE() SQL Server拥有非常强大的日期函数: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2008 10:57AM MYSQL select now();
SQL怎么判断查奇偶数
看具体什么数据库了
oracle中用mod
如:
select mod(4,2) from dual; -- 结果为0是偶数
select mod(3,2) from dual; -- 结果为1是奇数
sqlserver直接用%
如:
select 4%2 -- 结果为0是偶数
select 3%2 -- 结果为1是奇数
mysql同oracle
如:
select mod(4,2) -- 结果为0是偶数
select mod(3,2) -- 结果为1是奇数