Oracle迁移MySQL笔记
1,--在oracle代表注释 ,mysql/* */,#
2,|| oracle里面是表示连接符号,比如 A||B 那么就是AB
3,databaseLink创建好之后,比如名字为db_link_b 在b数据库中查询则如select * from view_ap_rule@db_link_b, 就ok了,建立databaseLink随便搜下就好了哈,如果用的plsql工具的话,昨天栏有个databaseLink对着他鼠标右键,新建就可以 了 例如 CREATE DATABASE LINK DBL_NAME CONNECT TO sa_fms IDENTIFIED BY sa_fms USING '10.101.22.110:1521/a'; 默认端口情况下 建不见本地服务名一个回事,建了就在using里面直接输本地服务名,没有见就按上面方法输入,2种方法都必须开本地监听
4,--Oracle trunc()函数的用法
/**************日期********************/
1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-18
2.select trunc(sysdate, 'mm') from dual --2011-3-1 返回当月第一天.
3.select trunc(sysdate,'yy') from dual --2011-1-1 返回当年第一天
4.select trunc(sysdate,'dd') from dual --2011-3-18 返回当前年月日
5.select trunc(sysdate,'yyyy') from dual --2011-1-1 返回当年第一天
6.select trunc(sysdate,'d') from dual --2011-3-13 (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual --2011-3-18 14:00:00 当前时间为14:41
8.select trunc(sysdate, 'mi') from dual --2011-3-18 14:41:00 TRUNC()函数没有秒的精确
http://www.cnblogs.com/jinzhengquan/archive/2011/08/04/2127353.html
http://www.cnblogs.com/jinzhengquan/archive/2011/08/04/2127353.html
5,MySQL
a.id1(+)=b.id2 这是右外边接
a.id1=b.id2(+) 这是左外连接,总之是左还是右,是与(+)在等号的哪边相反的
SELECT a.*, b.* from a(+) = b就是一个右连接,等同于select a.*, b.* from a right join b
SELECT a.*, b.* from a = b(+)就是一个左连接,等同于select a.*, b.* from a left join b
即" (+)"所在位置的另一侧为连接的方向,通常将全量集合与部分集合连接时,在部分集合的列后面带上(+),以达到没有匹配时,也要显示出一个null的效果
oracle中的(+)是一种特殊的用法,(+)表示外连接,并且总是放在非主表的一方。
例如左外连接: select A.a,B.a from A LEFT JOIN B ON A.b=B.b; 等价于 select A.a,B.a from A,B where A.b = B.b(+);
再举个例子,这次是右外连接: select A.a,B.a from A RIGHT JOIN B ON A.b=B.b; 等价于 select A.a,B.a from A,B where A.b (+) = B.b
extract(YEAR_MONTH from t.cur_date), extract(DAY_SECOND from t.cur_date)) as id
select nvl(成绩列,0) from 表,如果表中成绩列有为NULL,就替换成0
对应
mysql中IFNULL http://www.sudu.cn/info/index.php?op=article&id=321512
10,oracle中:
dbms_random.value():oracle中创建随机数
round(dbms_random.value(1, 999999999))
演示:select round(dbms_random.value(1, 999999999))from dual;
http://oracle.chinaitlab.com/exploiture/897232.html
lpad:select lpad('3',2,0) from dual; 就是在 3 这个基础上左侧补 0,一共是2位, 结果为 03
rpad"函数从右边对字符串使用指定的字符进行填充
mysql: select round(round(rand(),4)*10000);产生10000以内,精确到第四位的随机数
11,left join on where
FROM PRICE_INFO A LEFT JOIN SALEROOM C ON A.SALESROOM_ID = C.SALESROOM_ID
LEFT JOIN PRICE_NAME D ON A.PRICE_NAME_ID = D.PRICE_NAME_ID
LEFT JOIN SUSLIKS_TEST.V_GOODS_PRICE_VIEW_JR JR ON A.PRICE_ID = JR.PRICE_ID
LEFT JOIN SUSLIKS_TEST.V_GOODS_PRICE_VIEW_KR KR ON A.PRICE_ID = KR.PRICE_ID
LEFT JOIN SUSLIKS_TEST.V_GOODS_PRICE_VIEW_MR MR ON A.PRICE_ID = MR.PRICE_ID
LEFT JOIN SUSLIKS_TEST.V_GOODS_PRICE_VIEW_G G ON D.DICTIONARY_ID = G.DICTIONARY_ID, PRICE_DETAIL B,
BASE_SUPPLIER E,
GOODS_INFO H,
GOODS_BRAND I WHERE A.PRICE_ID = B.PRICE_ID
AND B.GOODS_ID = H.GOODS_ID
AND H.SUPPLIER_ID = E.SUPPLIER_ID
AND H.BRAND_ID = I.BRAND_ID
AND A.Audit_Status = '';
12,
oracle,mysql
<>:不等于
13,oracle 中decode啥意思
decode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
http://www.cnblogs.com/juddhu/archive/2012/03/07/2383101.html
对应
mysql
case when then
或者IIf(Logical Expression, Numeric Expression1, Numeric Expression2)
http://www.68design.net/Development/Database/20506-1.html
14,mysql错误提示Illegal mix of collations (gbk_chinese_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE)的一个解决办法
http://blog.csdn.net/chenneu/article/details/7986631
15,oracle 中:WMSYS.WM_CONCAT
http://blog.sina.com.cn/s/blog_03c54d100101abqd.html
mysql中:GROUP_CONCAT
http://blog.csdn.net/catoop/article/details/8124561
16,Mysql代替oracle中rownum作用的语句
Select group_id,(@rowNum:=@rowNum+1) as rowNum
From v_base_department, (Select (@rowNum :=0) ) b
17,mysql返回本月第一天
select DATE_ADD(curdate(),interval-day(curdate())+1 day);
http://blog.csdn.net/maonongwu/article/details/8530397
oracle返回本月第一天
trunc(sysdate - 1,'MM')
18,mysql中加减(1,2,3...)年,(1,2,3...)月,(1,2,3...)日
DATE_ADD(OrderDate,INTERVAL 2 DAY)http://www.w3school.com.cn/sql/func_date_add.asp
oracle中
add_month(sysdate,-1) 19,Oracle:grouping :空的地方返回1,非空的地方返回0
http://www.360doc.com/content/10/1231/11/2581091_82872238.shtml 19
mysql中
把时间变成 不同格式的
H大写是24小时制度,等
select date_format(now(),'%Y-%m-%d %H:%i:%s')
oracle
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
20,group by
oracle:中cube的作用
http://www.alixixi.com/Dev/DB/MYSQL/2007/2007021221925.html
一组是先按照a分组,在a组里面,然后按照b分组(group by cube(a,b))
还有一组只有单单的a,可以统计a组对应的所以数量
同理,还有单单的一组b,统计b组对应的所以数量
还有一组对应所有的数量
group by cube(a,b,c)
http://www.itpub.net/thread-972390-1-1.html
mysql:中没有cube,单只有group by
group by a,b
意思就是,先按照a分组,在a组里面,再按照b分组
http://zccst.iteye.com/blog/1157763
21,substring(? from 1 for length(phonenum)
? 在这里应该是一个输入型变量。 substring表示从该变量的第一个字符起,取到phonenum的长度。如,该变量值为:‘Hello World',phonenum的长度为4 则,substring的结果为:'Hell'
http://bbs.csdn.net/topics/110175383
22.oracle:
sysdate+1就是加一天
如果要加一小时的话就是sysdate+1/24
如果要加一分钟的话就是sysdate+1/24/60
依此类推
mysql:
DATE_SUB(NOW(), INTERVAL 1 MINUTE)当前时间减1分钟
Oracle迁移MySQL笔记的更多相关文章
- oracle迁移mysql数据库注意
oracle转mysql修改: . substr() substr( string , 0, 10) 这里测试 必须从 第一位获取 既是 substr(string , 1 , 10)2. to_ch ...
- oracle迁移mysql数据库注意(转)
oracle转mysql修改: 1. substr() substr( string , 0, 10) 这里测试 必须从 第一位获取 既是 substr(string , 1 , 10)2. to_c ...
- ORACLE 迁移MYSQL 随笔
1.把服务器上的ORALCE 数据库导成DMP,然后导入本机的临时库 2.先把ORACLE 表中的DATE 改为TIMESTAMP; a.先建立个表 create table type_table_i ...
- 迁移mysql数据到oracle上
转自:http://www.cnblogs.com/Warmsunshine/p/4651283.html 我是生成的文件里面的master.sql里面的sql,一个一个拷出来的. 迁移mysql数据 ...
- 数据库迁移之从oracle 到 MySQL
方式一: 手动方式导入导出 手动的方式导入, 就是操作步骤会比较繁琐一些. 对Table 的结构和数据: 1. 使用 SQL Developer 把 oracle 的 table 的schema 和 ...
- 适用MySQL Migration Toolkit 1.0 将oracle迁移到mysql中遇到的问题
这里主要说一下我在适用中碰到的问题,主要过程参考 http://www.cnblogs.com/duwenlei/p/3520759.html. 首先启动MySQLMigrationTool.exe ...
- Oracle和Mysql语法异同整理笔记
目录 (1) 模糊匹配 (2) 删除数据 (3) 时间函数 (4) 关键字问题 (5) 递归查询 (6) 排序问题 (7) 空值返回0 (8) 取最大值 (9) 列转换函数 (10) 类型转行函数 @ ...
- 使用navicat premium将数据库从Oracle迁移到SQL Server,或从Oracle迁移到MySQL
有时候我们有迁移数据库的需求,例如从Oracle迁移到SQL Server,或者从MySQL迁移到Oracle. 很多江湖好汉一时不知如何手工操作,所幸的是Navicat提供了迁移的自动化操作界面. ...
- Oracle迁移到MySQL性能下降的注意点(转)
背景:最近有较多的客户系统由原来由Oracle改造到MySQL后出现了性能问题CPU 100%,或是后台的CRM系统复杂SQL在业务高峰的时候出现堆积导致业务故障.在我的记忆里面淘宝最初从Oracle ...
随机推荐
- Understanding postgresql.conf : log*
After loooong pause, adding next (well, second) post to the “series“. This time, I'd like to describ ...
- nedb nodejs 数据库学习
// Type 1: In-memory only datastore (no need to load the database) var Datastore = require('nedb') ...
- Linux-LVS+keepalived-Testing
LVS:Linux Virtual Server+++++++++++++Info+++++++++++VIP:172.18.20.222LVS-Master IP:172.18.20.206LVS- ...
- Anaconda多环境多版本python配置指导
Anaconda多环境多版本python配置指导 字数3696 阅读644 评论0 喜欢0 最近学python,读完了语法后在GitHub找了一些练习来做,由 于学的是python3.x语法,而Git ...
- oracle ORA-01747(系统保留关键字)user.table.column, table.column 或列说明无效 hibernate映射oracle保留关键字
1.查询系统关键 select * from v$reserved_words 确认你使用的是否为关键字: select * from v$reserved_words w where w.KEYWO ...
- R提高篇(一): 输入输出
目录: 文本输出 图形输出 数据输入 数据框输出 文本导入 Excel导入 文本输出 语法: sink(file = NULL, append = FALSE, type = c("outp ...
- 用c#读取文件内容中文是乱码的解决方法:
用c#读取文件内容中文是乱码的解决方法: //方法1: StreamReader din = new StreamReader(@"C:\1.txt", System.Text.E ...
- 配置Windows Server2008+iis+php+mysql所需下载安装包
最近一个朋友让我帮忙给配置服务器iis+php+mysq 环境,遇到了很多问题,特此就在这里说一下.小弟只是在windwos2003 和windwos XP下配置过iis+php+mysql,去朋友那 ...
- PHP使用1个crontab管理多个crontab任务
http://www.binarytides.com/php-manage-multiple-cronjobs-with-a-single-crontab-entry/ In many php app ...
- 安卓 NEXUS6 修改分辨率,density
NEXUS6原density数值: 2k屏 560 每一步: 使用RE文件管理器,编辑system/build.prop.将“ro.sif.lcd_density=”的参数改写成为需要修改的数值,保存 ...