sqlserver的sql语句转成oracle

问题描述

sqlserver的sql语句转成oracle

SELECT FF.*, AF.FUNCGROUPNAME FROM
(SELECT F.FUNCCODE,F.FUNCNAME,F.ISMENU,F.FUNCGROUPID,
(CASE WHEN PARTY_ID IS NULL THEN 0 ELSE 1 END) ISCHECK FROM APP_FUNCTION F
LEFT JOIN CAP_RESAUTH CR ON F.FUNCCODE = CR.RES_ID AND CR.PARTY_ID = #role:int#) FF
LEFT JOIN APP_FUNCGROUP AF ON FF.FUNCGROUPID = AF.FUNCGROUPID
ORDER BY FUNCGROUPID

这是一条sqlserver的语句,转成oracle的语句应该怎么转?主要是CASE函数那~~~求帮忙

解决方案

Sql语句从SqlServer转换Oracle
SqlServer和Oracle中一些常用的sql语句5 流程控制语句
SqlServer和Oracle中一些常用的sql语句9 SQL优化

解决方案二:

表面看不用转就直接用,先拿到oracle执行下有无语法错误

解决方案三:

除了#role:int#这块好像没什么问题
直接放oracle运行报什么错 ?

解决方案四:

SELECT FF.*, AF.FUNCGROUPNAME FROM
(SELECT F.FUNCCODE,F.FUNCNAME,F.ISMENU,F.FUNCGROUPID,
nvl(PARTY_ID,0) ISCHECK FROM APP_FUNCTION F
LEFT JOIN CAP_RESAUTH CR ON F.FUNCCODE = CR.RES_ID AND CR.PARTY_ID = #role:int#) FF
LEFT JOIN APP_FUNCGROUP AF ON FF.FUNCGROUPID = AF.FUNCGROUPID
ORDER BY FUNCGROUPID

时间: 2024-10-07 09:40:21

sqlserver的sql语句转成oracle的相关文章

mysql的查询sql语句转换成oracle的sql

问题描述 mysql的查询sql语句转换成oracle的sql SELECT CREATE_DATE SUM(ISBIND) AS ISBIND SUM(UNBIND) AS UNBIND SUM(SUBSCRIBE) AS SUBSCRIBE SUM(UNSUBSCRIBE) AS UNSUBSCRIBE FROM ( SELECT N.CREATE_DATE MAX( CASE N.EVENT WHEN 'subscribe' THEN COUNT ELSE 0 END ) SUBSCRIB

sql语句转换成hql求大神解决

问题描述 sql语句转换成hql求大神解决 具体sql语句如下,变成hql语句,请高手知道一下.select * from plan_run r where r.id in(select t.plan_run_waishi_user_id from PLAN_RUN_OA_USER t where t.oa_user_id= ?) 解决方案 from 实体类1 p where p.id in ( select i.id from 实体类2 i where i.useId = ? )注意hql里面

关于SQL语句转换成linq语句

问题描述 关于SQL语句转换成linq语句 SELECT * FROM dbo.[USER] u, (SELECT ua.User_Attention_Object_Id FROM dbo.User_Attention ua,dbo.[USER] u WHERE u.User_Id=ua.User_Attention_User_Id AND ua.User_Attention_User_Id=3) uaid WHERE u.User_Id=uaid.User_Attention_Object_I

hibernate-原始sql语句转换成jpql语句

问题描述 原始sql语句转换成jpql语句 如题,现在有一个sql语句: SELECT c.* FROM fs_gulib a, fs_star c,(SELECT t2.id,COUNT(*) FROM fs_gulib_member t1 LEFT JOIN fs_gulib t2 ON t1.gulib = t2.id GROUP BY t1.gulib ORDER BY COUNT(*) DESC) n WHERE a.id=c.gulib_id AND a.id=n.id; 如何转成j

把多表联查的sql语句转换成linq语句

问题描述 把多表联查的sql语句转换成linq语句 SELECT * FROM [group_product] where proid in(select proid from [group_browsehistory] where memid in(select memid from [group_browsehistory] where proid=12)) 在线等,这个sql语句怎么转换成linq??? 解决方案 from x in group_product where group_br

SQL语句转成LINQ:select *, (case tab1 when 1 then 'y' when 2 then 'N' end ) as test

问题描述 SQL语句转成LINQ:select*,(casetab1when1then'y'when2then'N'end)astestfromTaleftjoinTbONTa.pk_id=Tb.Fk_idwhereTalike'%key%' 解决方案 解决方案二:varq=fromtaindb.Tajointbindb.Tbonta.pk_idequalstb.Fk_idintotempfromttintemp.DefaultIfEmpty()whereta.Ta.Contains("key&

如何将下面的sql语句转换成Linq形式

问题描述 想把下面的sql语句转换成LINQ形式具体的sql语句如下:select*from(select字段,row_number()over(排序方式)asrownumfrom表名where条件)asbwhereb.rownum>起始值andb.rownum<=结束值orderby排序方式其中所有的汉字均是通过变量进行传值的不知道这个怎么转换成LINQ形式大侠们给帮帮忙写写吧! 解决方案 解决方案二:varq=(fromaindb.table1where...orderby字段descen

同样功能的SQL语句 写成参数和写成常量的差别

今天写一个存储过程,由于执行的时间比较长(7秒)所以打算优化一下.结果在优化测试代码中发现如下 一个奇怪的现象. 现在有一个表mis_gl_balance,其中有一个字段ACC_SEGMENT VARCHAR(181) NULL ,他的内容的形式如 下: 3810.105301.5414070180.000000.00000000.0000.000000 另外一个表finance_budget_account 主要记录了budget_type 预算类型和mis_code MIS系统编码.这 里的

同样功能的SQL语句,写成参数和写成常量怎么效率会有那么大的差别

今天写一个存储过程,由于执行的时间比较长(7秒)所以打算优化一下.结果在优化测试代码中发现如下一个奇怪的现象.现在有一个表mis_gl_balance,其中有一个字段ACC_SEGMENT VARCHAR(181) NULL ,他的内容的形式如下:3810.105301.5414070180.000000.00000000.0000.000000另外一个表finance_budget_account 主要记录了budget_type 预算类型和mis_code MIS系统编码.这里的MIS编码就