看板 Database 關於我們 聯絡資訊
目前改code遇到一個瓶頸 因為先前使用的資料庫是oracle 目前要把它轉成ms sql server 在oracle 中有個語法是decode 查過資料可以轉成 ms sql 中的case 可是怎麼改,它就是不想理我,請板上大大幫我看看哪裡出錯了,拜託各位了 以下附上程式碼 oracle中 sql = "select a.*,b.D_D_N,c.P_P_N,decode(a.State,'1','自行修復 ','2','外包廠商','3','採購') as StateName " sql = sql & " from ora.DATA a,soap.atbdep b,soap.lmspsn c " sql = sql & " where a.DEPT_NO = b.D_D(+) and a.PSN_NO = c.P_P_C(+)" ms sql 中 sql = "select a.*,b.D_D_N,c.P_P_N,CASE ( WHEN a.State='1' THEN StateName='自行修復' WHEN a.State='2' THEN StateName='外包廠商' WHEN a.State='3' THEN StateName='採購' END) " sql = sql & " from [ora].[dbo].[DATA] a, [soap].[dbo].[atbdep] b,[soap].[dbo].[lmspsn] c " sql = sql & " where a.DEPT_NO = b.D_D and a.PSN_NO = c.P_P_C" 補上錯誤訊息:抓不到資料庫資料。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.15.161.238
PsMonkey:請附上錯誤訊息 04/29 11:53
※ 編輯: evan1112 來自: 163.15.161.238 (04/29 14:06)
jackghost:直覺是你的第一行錯,CASE要放在括弧裡面啊,如(CASE WHEN 04/29 18:56