0

如何在 ANSI SQL 中拆分列值?我使用 VectorWise DB,而VW 不支持拆分方法

我该如何解决?

SELECT
       stars,
       LEFT(stars, POSITION(',', stars + ',') - 1) AS star1,
       CASE WHEN CHARACTER_LENGTH(oyuncu) - CHARACTER_LENGTH(REPLACE(stars, ',', '')) > 0
          THEN TRIM(SUBSTRING(stars, POSITION(',', stars) + 1,
              POSITION(',', stars + ',', POSITION(',', stars) + 1) 
              - POSITION(',', stars) - 1))
          ELSE NULL
          END AS star2,
       CASE WHEN CHARACTER_LENGTH(stars) - CHARACTER_LENGTH(REPLACE(stars, ',', '')) > 1
          THEN TRIM(SUBSTRING (stars, POSITION(',', stars + ',',
              POSITION(',', oyuncu) + 1) + 1, CHARACTER_LENGTH(stars)))
          ELSE NULL
       END AS star3
    FROM administrator.dnm

我在更改后添加了我想要的屏幕截图。但是我对改变后我想要的东西没有足够的声誉:(

ANSI 不支持 T-SQL 具有的某些特定方法。

4

1 回答 1

0

转到http://docs.actian.com,单击“选项”,选择 Actian Vector 3.5,然后在导航器中选择“Vector 3.5 SQL Language Guide”。

SUBSTR 和 SUBSTRING 函数在此处解释:Elements of SQL Statements -> SQL Functions -> String Functions -> SUBSTR Function. 您的示例应该适用于 Vector 3.5。

于 2014-07-10T09:19:53.920 回答