我正在使用格式化搜索中的SAP Business,并运行了一些我不熟悉的语法。或者之前没有遇到过。这可能是非常基本的,但任何人都可以对此有所了解吗?忽略$ [系统对象]。
DECLARE @parent nVarChar(15)
SET @parent = (SELECT T0.FNum
FROM OACT T0
WHERE T0.ACode = $[DLN1.ACode])
@parent ='40099' begin if $[OCRD.ctry] = 'UK' and $[OCRD.zip] not like 'BBT_%%' begin select 19 end else if $[ocrd.country] = 'SA' or $[ocrd.zipcode] like 'BBT_%%' begin select 31 end else if $[ocrd.country] = 'NZ' begin select 41 end else if $[ocrd.country] = 'AUS' begin select 51 end else select 21 end
完整查询目前不起作用,但我的问题是,通常“选择21”或“选择41”或“选择51”或选择xxx号码返回什么?任何人都可以提供一个帮助我理解的例子吗?
由于
答案 0 :(得分:1)
选择[VALUE]将仅返回一个值。
<强>甲骨文:强>
select 'Hello' from Dual
SQL Server:
Select 'Hello'
所以你的代码似乎正在做的是设置/显示一个值,仅此而已。
您可以使用它的另一种方式示例,即select中的多个项目:
http://sqlfiddle.com/#!2/a2581/28218/0
这在SQL Server和Oracle中都有效,不需要Dual。
答案 1 :(得分:0)
Select XX
将返回XX
。
例如我在表预订中有三行,我select 21 from tablename
然后我会得到以下结果
如果我只是做select 21
,它会给我这个
答案 2 :(得分:0)
它只是选择一个文字值,在这种情况下是一个数字。因此,如果此代码在函数或存储过程中,则它将返回其中一个数字。以下是使用类似语法设置变量的示例:
DECLARE @NUMBER INT
SET @NUMBER = (SELECT 41)
-- above is identical to:
SET @NUMBER = 41
除了我们更熟悉从表中返回数据的SELECT语句而不是代码中显式定义的文字值之外,它与任何SELECT语句都没有区别。
我希望能回答您的问题,但请不要犹豫,要求进一步澄清。