LoginSignup
1
0

More than 5 years have passed since last update.

SQLの文字列から余分な文字を削除

Posted at

集計バッチ等で生の SQL を heredoc で直接書いてコメントとかインデントとか入れて可読性を維持したいケースがあったので考えてみた.

注意としてはSQL分上の文字列リテラルでコメントとか改行に相当のものが含まれてると意図しない文字列になってしまうが、集計時はレアケースなので気にしない.

<<-SQL.gsub(%r(\-\- .*$), '').gsub(%r(/\*.+\*/), '').squish
  SELECT
    id, name -- comment
  FROM
    users
  WHERE
    users.age > 18 /* 未成年を除外 */ AND users.gender_code = 1
SQL
# => "SELECT id, name FROM users WHERE users.age > 18 AND users.gender_code = 1"

String#squish() は Rails の ActiveSupport のメソッドです.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0