基本SQL语法选择[编号]

时间:2014-07-25 08:23:35

标签: sql select sap

我正在使用格式化搜索中的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号码返回什么?任何人都可以提供一个帮助我理解的例子吗?

由于

3 个答案:

答案 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然后我会得到以下结果

enter image description here

如果我只是做select 21,它会给我这个

enter image description here

答案 2 :(得分:0)

它只是选择一个文字值,在这种情况下是一个数字。因此,如果此代码在函数或存储过程中,则它将返回其中一个数字。以下是使用类似语法设置变量的示例:

DECLARE @NUMBER INT
SET @NUMBER = (SELECT 41)
-- above is identical to:
SET @NUMBER = 41

除了我们更熟悉从表中返回数据的SELECT语句而不是代码中显式定义的文字值之外,它与任何SELECT语句都没有区别。

我希望能回答您的问题,但请不要犹豫,要求进一步澄清。