4

我需要知道如何在 SELECT 中对必须为空的字段进行比较。

我正在尝试从 bkpf 中选择一些字段,其中字段 stblg 为空。我是这样做的:

 SELECT c~kunnr a~belnr d~spart c~bldat c~waers a~hwaer f~mwskz
      INTO CORRESPONDING FIELDS OF TABLE lt_data
        FROM ( ( ( bsis AS f
      INNER JOIN bkpf AS a ON f~belnr = a~belnr )
      INNER JOIN bsad AS c ON c~belnr = a~belnr )
      INNER JOIN vbrk AS d ON d~vbeln = c~belnr )
      WHERE a~gjahr IN gjahr
        AND a~bukrs IN bukrs
        AND c~augdt IN augdt
        AND a~stblg = ' '
        AND f~hkont = '0034930020'.

这是正确的还是我必须使用其他东西?谢谢你。

4

2 回答 2

4

在您的情况下,您可以使用AND a~stblg = ' '或已经提到的AND a~stblg EQ SPACE- 没有区别(我建议使用SPACE' '如果您想检查一个空格或者如果您忘记在 ' 中填写某些内容,您无法确定。)

在数据库级别可以有另一种含义。space数据库在或没有值' '之间产生差异()。NULL

您可以通过以下方式签NULL入 SAP:

AND a~stblg IS NULL

In your case, this statement should select nothing, because SAP normally stores space for empty character values.

于 2012-07-04T12:18:51.843 回答
2

或者,您可以使用:

AND a~stblg EQ SPACE

--

塔尔哈

于 2012-07-04T05:47:28.560 回答