从IIF进行大写转换 [英] CASE conversion from IIF

查看:86
本文介绍了从IIF进行大写转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从SQL(访问)开始

I started off with SQL (access)

IIf(Len([CAT]) < 3, 
Left([CAT],1) & 0 & Right([CAT],1),
[CAT]) AS CAT1, 
[HD0] &

IIf([TABLE].[HD1]<>"00",
" / " & [HD1_ABR],
Null) & 
IIf([HD2]<>"00",
" / " & [HD2_NAME],
Null) & 
IIf([HD3]<>"000",
" / " & [HD3_NAME],
Null) & 
IIf([HD4]<>"00",
" / " & [HD4_NAME]) AS NAME,

Oracle(Sql Developer)也做了

and did Oracle (Sql Developer)

Case
When length(cat) < 3
Then SubStr(cat,1,1) || '0' || SubStr(cat,-1,1)
Else cat
End cat1,hd0
Case
When TABLE <>"00"
then " / "
else HD1_ABR,null

当我在SQLDev中运行查询时,出现错误 在命令行错误:9列:4 错误报告: SQL错误:ORA-00923:找不到所需的FROM关键字 00923. 00000-未在预期的位置找到FROM关键字"

When I run query in SQLDev I get error Error at Command Line:9 Column:4 Error report: SQL Error: ORA-00923: FROM keyword not found where expected 00923. 00000 - "FROM keyword not found where expected"

推荐答案

MS Access语法与Oracle语法完全不同.没有方括号,并且SQL函数的名称不同. http://docs.oracle.com/cd/E11882_01 /server.112/e17118/functions.htm#SQLRF006

MS Access syntax is entirely different to Oracle syntax. No square brackets, and different names for the SQL functions. http://docs.oracle.com/cd/E11882_01/server.112/e17118/functions.htm#SQLRF006

 Case
   When length(cat) < 3
   Then SubStr(cat,1,1) || '0' || SubStr(cat,-1,1)
   Else cat
 End cat1

这篇关于从IIF进行大写转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆