如何在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所拥有的一些特定方法。
发布于 2014-07-10 09:19:53
转到http://docs.actian.com,单击"Options",选择ActianVector3.5,在导航器中选择“Vector3.5SQLLanguageGuide”。
在这里解释了SUBSTR和SUBSTRING函数:Elements of SQL Statements -> SQL Functions -> String Functions -> SUBSTR Function。你的例子应该适用于向量3.5。
https://stackoverflow.com/questions/18893521
复制相似问题