【ORACLE与mysql的区别】

1.sysdate

-- oracle
SELECT SYSDATE FROM DUAL

-- mysql
 SELECT SYSDATE() FROM DUAL

-- 语句3
SELECT SYSDATE() , LNS_END_DATE,SYSDATE() - LNS_END_DATE FROM MRS_CUST_LNS_DUE 

-- 语句4
SELECT CURDATE() , DATE(LNS_END_DATE),CURDATE() - DATE(LNS_END_DATE) FROM MRS_CUST_LNS_DUE 

上面语句3结果是不对的,需要改成语句4才可以
在这里插入图片描述

2.行号问题

MYSQL 没有rowner函数

-- mysql使用的语句是:
 SELECT B.content  FROM
  ( SELECT T.content FROM T1 T  WHERE T.text_type = 1 ORDER BY T.gmt_create desc   )  B   LIMIT 4

-- oracle的语句是:
 SELECT content  FROM
  ( SELECT T.content FROM T1 T   WHERE T.text_type = 1 ORDER BY T.gmt_create desc  )   WHERE ROWNER <4

3.日期问题TRUNC的替代

-- ORACLE
-- 获取月份第一天相等 TRUNC
		SELECT T2.BRANCH_NAME, T3.PROD_NAME,SUM(T1.VALID_NUM) C
		FROM MRS_ELCT_SUMMARY T1
		LEFT JOIN MRS_BRANCH T2 ON T1.BRANCH_ID = T2.ID
		LEFT JOIN MRS_ELCT_PRODUCT T3 ON T1.PRODUCT_ID = T3.ID
		WHERE  TRUNC(T1.DATA_DATE,'mm') = TRUNC(SYSDATE,'mm')
		GROUP BY T2.BRANCH_NAME, T3.PROD_NAME;

--MYSQL 没有TRUNC函数,年月相等与某年某月的第一天相等的含义是一样的
		SELECT T2.BRANCH_NAME, T3.PROD_NAME,SUM(T1.VALID_NUM) C
		FROM MRS_ELCT_SUMMARY T1
		LEFT JOIN MRS_BRANCH T2 ON T1.BRANCH_ID = T2.ID
		LEFT JOIN MRS_ELCT_PRODUCT T3 ON T1.PRODUCT_ID = T3.ID
		WHERE date_format(T1.DATA_DATE, '%Y%m') = date_format(CURDATE(), '%Y%m')
		GROUP BY T2.BRANCH_NAME, T3.PROD_NAME

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值