Oracle SQL查询语句转mysql



-- 增加自增属性
alter table tpl MODIFY tpl_id int not null auto_increment;


-- 当前时间获取
sysdate --》 sysdate()


-- nvl函数去掉


-- 存在加后缀@CPCDB_LINK的SQL,mysql不存在dblink,mysql使用库名.表名 来实现跨库查询


-- 时间函数add_months()函数 --》ADDDATE()函数
Oracle : add_months(sysdate, #{send_time})  -- 》 mysql : ADDDATE(sysdate(), INTERVAL #{send_time} MONTH)
oracle : 


-- 时间和字符串转换
date_format(date,'%Y-%m-%d')    -------------->oracle中的to_char();
str_to_date(date,'%Y-%m-%d')     -------------->oracle中的to_date();


%Y:代表4位的年份
%y:代表2为的年份
 
%m:代表月, 格式为(01……12)  
%c:代表月, 格式为(1……12)
 
%d:代表月份中的天数,格式为(00……31)  
%e:代表月份中的天数, 格式为(0……31) 
 
%H:代表小时,格式为(00……23)  
%k:代表 小时,格式为(0……23)  
%h: 代表小时,格式为(01……12)  
%I: 代表小时,格式为(01……12)  
%l :代表小时,格式为(1……12)
 
%i: 代表分钟, 格式为(00……59) 


%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)  
%T:代表 时间,格式为24 小时(hh:mm:ss) 


%S:代表 秒,格式为(00……59)  
%s:代表 秒,格式为(00……59) 
SELECT DATE_FORMAT(20160909154540,'%Y-%m-%d %H:%i:%s'),DATE_FORMAT(20160909154540,'%Y-%m-%d %H:%i:%s') from dual


-- mysql中嵌套查询的派生出来的每个表都必须有一个表名


-- mysql中不存在rownum, 可以使用limit来替代 and rownum < = 10 ---> limit 0,10
很抱歉,Druid不能直接将Oracle SQL语句转换MySQL语句,因为OracleMySQL的语法有很大的区别。但是,你可以手动将Oracle SQL语句转换MySQL语句,或者使用一些第三方工具进行转换。 以下是一些常见的Oracle SQL语句与MySQL语句的对比: 1. 创建Oracle SQL语句: ``` CREATE TABLE employees ( employee_id NUMBER(6), first_name VARCHAR2(20), last_name VARCHAR2(25), email VARCHAR2(25), hire_date DATE, job_id VARCHAR2(10), salary NUMBER(8,2), commission_pct NUMBER(2,2), manager_id NUMBER(6), department_id NUMBER(4) ); ``` MySQL语句: ``` CREATE TABLE employees ( employee_id INT(6), first_name VARCHAR(20), last_name VARCHAR(25), email VARCHAR(25), hire_date DATE, job_id VARCHAR(10), salary DECIMAL(8,2), commission_pct DECIMAL(2,2), manager_id INT(6), department_id INT(4) ); ``` 2. 插入数据: Oracle SQL语句: ``` INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id, salary, commission_pct, manager_id, department_id) VALUES (100, 'Steven', 'King', 'steven.king@example.com', '17-JUN-87', 'AD_PRES', 24000, NULL, NULL, 90); ``` MySQL语句: ``` INSERT INTO employees (employee_id, first_name, last_name, email, hire_date, job_id, salary, commission_pct, manager_id, department_id) VALUES (100, 'Steven', 'King', 'steven.king@example.com', '1987-06-17', 'AD_PRES', 24000, NULL, NULL, 90); ``` 3. 查询数据: Oracle SQL语句: ``` SELECT employee_id, first_name, last_name, email, hire_date, job_id, salary, commission_pct, manager_id, department_id FROM employees WHERE department_id = 90 ORDER BY hire_date DESC; ``` MySQL语句: ``` SELECT employee_id, first_name, last_name, email, hire_date, job_id, salary, commission_pct, manager_id, department_id FROM employees WHERE department_id = 90 ORDER BY hire_date DESC; ``` 需要注意的是,OracleMySQL的数据类型有很大的区别,因此在进行数据类型转换时需要注意精度和类型的匹配问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>