Examples 161–188 · Part III: Querying
| # | Example | Level |
|---|---|---|
| 161 | Length, case and capitalisation | Beginner |
| 162 | Three ways to join strings | Beginner |
| 163 | Trim whitespace and other characters | Beginner |
| 164 | Extract part of a string | Beginner |
| 165 | Find a substring's position | Beginner |
| 166 | REPLACE and TRANSLATE | Intermediate |
| 167 | Split a delimited field with SPLIT_PART | Intermediate |
| 168 | Split into an array and back again | Intermediate |
| 169 | Substitute with regular expressions | Intermediate |
| 170 | Capture groups with REGEXP_MATCH | Intermediate |
| 171 | Split text into rows with a regex | Intermediate |
| 172 | Pad strings to a fixed width | Intermediate |
| 173 | Repeat and reverse | Beginner |
| 174 | Build strings safely with FORMAT | Intermediate |
| 175 | Format numbers and dates with TO_CHAR | Intermediate |
| 176 | Case-insensitive comparison, three ways | Intermediate |
| 177 | Collation decides how text sorts | Intermediate |
| 178 | Fuzzy matching with trigram similarity | Intermediate |
| 179 | Phonetic and edit-distance matching | Intermediate |
| 180 | Full-text search fundamentals | Intermediate |
| 181 | Normalise names for deduplication | Intermediate |
| 182 | Hash text to detect change | Intermediate |
| 183 | Encode and decode binary text | Intermediate |
| 184 | Quote identifiers and literals safely | Intermediate |
| 185 | Character classes and Unicode | Intermediate |
| 186 | Index a prefix search | Advanced |
| 187 | Build a text cleanup pipeline | Advanced |
| 188 | Choosing a text matching strategy | Advanced |
The solutions and explanations are in the book.