作者evan1112 (麻辣小雞)
看板Database
標題[SQL ] 詢問有關ms sql server的語法問題
時間Thu Apr 29 10:29:15 2010
目前改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