Skip to main content

extract_select_columns

Function extract_select_columns 

Source
pub fn extract_select_columns(sql: &str) -> Vec<String>
Expand description

Extract column names from the outermost SELECT clause of a SQL string.

This is a best-effort regex-based extraction, not a full SQL parser. It handles:

  • SELECT col1, col2 FROM ... -> ["col1", "col2"]
  • SELECT t.col1 AS alias1 -> ["alias1"]
  • SELECT col1 as alias1 -> ["alias1"]
  • SELECT * -> ["*"]
  • SELECT DISTINCT col1, col2 -> ["col1", "col2"]
  • Jinja tags are stripped before parsing
  • Subqueries in parentheses are skipped
  • Multiline SELECT clauses are handled