[SQL ] 詢問有關ms sql server的語法問題

看板Database作者 (麻辣小雞)時間15年前 (2010/04/29 10:29), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/3 (看更多)
目前改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

04/29 11:53, , 1F
請附上錯誤訊息
04/29 11:53, 1F
※ 編輯: evan1112 來自: 163.15.161.238 (04/29 14:06)

04/29 18:56, , 2F
直覺是你的第一行錯,CASE要放在括弧裡面啊,如(CASE WHEN
04/29 18:56, 2F
文章代碼(AID): #1BsExzpa (Database)
文章代碼(AID): #1BsExzpa (Database)