使用SQL按字母顺序隔离数据的最佳方法是什么?
我想根据某些列中数据的起始字符将数据分成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';