使用SQL按字母顺序隔离数据的最佳方法是什么?

时间:2011-07-18 08:52:19

标签: sql oracle oracle10g

使用SQL按字母顺序隔离数据的最佳方法是什么?

我想根据某些列中数据的起始字符将数据分成3部分?

3 个答案:

答案 0 :(得分:2)

您可以使用REGEX_LIKE语句来获取结果。

示例:

-- For Range [A--G]
SELECT target_col
FROM   target_table
WHERE  REGEXP_LIKE( target_col, '^[A-G].$' ) ;

-- For Range [H--O]
SELECT target_col
FROM   target_table
WHERE  REGEXP_LIKE( target_col, '^[H-O].$' ) ;

-- For Range [P--Z]
SELECT target_col
FROM   target_table
WHERE  REGEXP_LIKE( target_col, '^[P-Z].$' ) ;

答案 1 :(得分:2)

-- For Range [A--G]

SELECT target_col
FROM   target_table
WHERE  target_col >= 'A'
  AND  target_col < 'H'

如果target_col上有一个简单的索引,查询可能会使用它。

答案 2 :(得分:1)

你也可以使用它:

select *
from your_table
where your_column between 'A' and 'G';