【发布时间】:2023-04-09 03:25:02
【问题描述】:
我想知道如何将 SQL 语句从 Oracle 更改为 SQL Server。 但是,发生错误
关键字“AS”附近的语法无效
不知道为什么会出错。
SELECT A.DMND_NO
, A.DMND_R_ID
, C.EMP_NO
, C.USER_NM
, CASE WHEN C.TYPE_CD = '01' THEN C.DEPT_CD ELSE C.VENDOR_CD END AS DEPT_CD
, CONVERT(VARCHAR(20), A.ATH_DMND_DTM, 120) AS ATH_DMND_DTM
, CONVERT(VARCHAR(20), A.APRV_DTM, 120) AS APRV_DTM, A.APVR_ID
, ISNULL(D.USER_NM, A.APVR_ID) AS APRV_NM
, C.TYPE_CD
, I.CODE_NM AS REQ_GB
FROM TB_SY_ATHDMND A RIGHT OUTER JOIN TB_SY_USER D
ON A.APVR_ID = D.USER_ID
, TB_SY_USER C RIGHT OUTER JOIN TB_SY_DEPT F
ON C.DEPT_CD = F.DEPT_CD
, TB_SY_ATHDMNDDET B
, (SELECT COMP_CD, CODE_CD, CODE_NM FROM TB_SY_CODE WHERE CLS_ID = 'COM_CLS_0049' AND USE_CD = 'Y') I
WHERE A.DMND_NO = B.DMND_NO
AND A.DMND_R_ID = C.USER_ID
AND A.DMND_COMP_CD = I.COMP_CD
AND C.TYPE_CD = I.CODE_CD
AND A.PRGR_STAT_CD = '03'
AND B.ATH_DVCD = 'U'
AND A.DMND_COMP_CD = #{gCOMP_CD}
<if test='SEARCHDT_FROM != null and !SEARCHDT_FROM.equals("") and SEARCHDT_TO != null and !SEARCHDT_TO.equals("")'>
AND A.APRV_DTM BETWEEN CONVERT(VARCHAR(8), A.ATH_DMND_DTM, 112) AS ATH_DMND_DTM AND CONVERT(VARCHAR(20), A.APRV_DTM, 120) AS APRV_DTM
</if>
<if test='TYPE_CD != null and !TYPE_CD.equals("")'>
AND C.TYPE_CD = #{TYPE_CD}
</if>
<if test='USER_NM != null and !USER_NM.equals("")'>
AND C.USER_NM = #{USER_NM}
</if>
ORDER BY A.APRV_DTM DESC, A.DMND_NO DESC
【问题讨论】:
标签: sql sql-server oracle porting