DEV Community

Augusts Bautra
Augusts Bautra

Posted on

TIL: Postgresql's SUBSTRING function

Today I needed to group records by a substring contents of one of the columns. We have data like task_type: "Facade (S4)", so this should be grouped as belonging to group 4 (from S4).

Turns out there's a simple and powerful way to do this with regex-powered substring detection:

# SUBSTRING(string FROM pattern)

records.group(Arel.sql("SUBSTRING(task_type from 'S([0-9]+)$')"))
Enter fullscreen mode Exit fullscreen mode

See docs.

Top comments (0)