作者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
1F:推 PsMonkey:请附上错误讯息 04/29 11:53
※ 编辑: evan1112 来自: 163.15.161.238 (04/29 14:06)
2F:推 jackghost:直觉是你的第一行错,CASE要放在括弧里面啊,如(CASE WHEN 04/29 18:56