如何在ANSI-SQL中拆分字符串

时间:2013-09-19 11:34:45

标签: sql database vectorwise actian

如何在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的某些特定方法。

1 个答案:

答案 0 :(得分:0)

转到http://docs.actian.com,点击"选项",选择Actian Vector 3.5,然后在导航器中选择" Vector 3.5 SQL语言指南"。

这里解释了SUBSTR和SUBSTRING函数:Elements of SQL Statements -> SQL Functions -> String Functions -> SUBSTR Function。您的示例应适用于Vector 3.5。