SQL TRIM
Removes leading and trailing whitespace — but leaves any whitespace INSIDE the string completely untouched.
What & Why
TRIM(text) strips whitespace from both ends of a string, leaving the interior exactly as it was. This is a genuinely important distinction: TRIM fixes leading/trailing spaces, but does nothing about multiple spaces sitting between words in the middle.
See How It Works
BUSINESS QUESTION
Marketing wants to remove edge padding from campaign labels while proving that TRIM leaves repeated spaces inside a name untouched.
| id | name | channel | spend | start_date | end_date | status | target_segment |
|---|---|---|---|---|---|---|---|
| 1 | Spring Launch | google_ads | 55000.00 | 2024-01-15 | 2024-03-31 | active | smb |
| 2 | Retention Webinar | 45000.00 | 2024-02-10 | 2024-04-15 | active | enterprise | |
| 3 | Finance Retargeting | 50000.00 | 2024-03-12 | 2024-05-31 | active | enterprise | |
| 4 | Enterprise Search | google_ads | 60000.00 | 2024-04-01 | 2024-06-30 | active | enterprise |
Watch TRIM fix the edges but preserve internal spacesExample 1 of 4
TRIM(' ' || REPLACE(name, ' ', ' ') || ' ')
| id | name | padded_name | trimmed_name |
|---|---|---|---|
| 1 | Spring Launch | [ Spring Launch ] | [Spring Launch] |
| 2 | Retention Webinar | ? | ? |
| 3 | Finance Retargeting | ? | ? |
| 4 | Enterprise Search | ? | ? |
TRIM removes Spring Launch's edge padding while the three internal spaces remain.
EXAMPLE QUERY
SELECT
id,
name,
'[' || ' ' || REPLACE(name, ' ', ' ') || ' ' || ']' AS padded_name,
'[' || TRIM(' ' || REPLACE(name, ' ', ' ') || ' ') || ']' AS trimmed_name
FROM marketing.campaigns
ORDER BY id;Sign up free to try it on a real business scenario