0

このコマンドについて調べてみましたが、具体的な説明が見つからないようです。

「インデックスの場合」とは何ですか? それは何をするためのものか?いつとどのように違うのですか?いつ使用されますか?これは他の RDMS で利用できますか、それとも Teradata 固有ですか? いくつかの例も提供していただければ幸いです。

どうもありがとう。

sel
CASE    WHEN .00 = 0 THEN 0||'.' 
ELSE    .00 
END
,CASE   WHEN INDEX (.00,'.') = 0 THEN 0||'.' 
ELSE    .00 
END

結果:

  0.     .00
4

3 に答える 3

1

Index() は Teradata 関数です。ここでそれについて読むことができます。他のデータベース エンジンでも同じようなことができますが、その構文ではできません。

于 2013-04-30T01:03:27.570 に答える
1
SELECT -- Performs logical test of two numeric values (.00 = 0)
       CASE WHEN .00 = 0 
            THEN 0||'.' 
            ELSE .00 
       END
       -- Checks for the location of the of '.' in the string '.00'.
       -- In this test it returns 1. 1 <> 0.         
     , CASE WHEN INDEX (.00,'.') = 0  
            THEN 0||'.' 
            ELSE .00 
       END

INDEX()ANSI SQL:2008 標準に対する Teradata 拡張です。POSITION()は、ANSI SQL:2008 準拠の同等のものです。POSITION('.' IN '.00)

于 2013-04-30T01:31:05.540 に答える