SQL在第一次出现字符时选择列作为子字符串?

时间:2013-02-03 10:56:42

标签: sql postgresql plpgsql

我正在使用Postgresql,我需要运行一个查询,在单个字符串列上执行SELECT DISTINCT。但是我不想按原样选择列,我需要在第一次出现这个字符串'('。

时对其进行子串。

我不知道如何做这个子串部分..

以下是没有子字符串部分的查询示例:

SELECT DISTINCT ON (Table.Column1) Table.Column2 
FROM Table 
ORDER BY Table.Column1

我不确定在postgres中使用哪些函数,或者我可能需要使用plpgsql来执行此操作?

1 个答案:

答案 0 :(得分:2)

我设法解决了这个问题。要使用的功能是SPLIT_PART。其中有三个参数ColumnName,Characters和子串出现。

以下是我如何使用它的示例。

SELECT DISTINCT ON (SPLIT_PART(Table.Column1, ' )', 1)) Table.Column2 
FROM Table 
ORDER BY SPLIT_PART(Table.Column1, ' )', 1)