sql >> Database >  >> RDS >> Database

Een deel van een string in SQL vervangen

Probleem:

Je wilt een deel van een tekenreeks vervangen door een andere tekenreeks.

Voorbeeld:

Onze database heeft een tabel met de naam investor met gegevens in de volgende kolommen:id , company , en phone .

id bedrijf telefoon
1 Grote Markt 123–300-400
3 Het zonnige restaurant 123–222-456
4 Mijn bank 123-345-400

We willen de indeling van het telefoonnummer voor elk bedrijf wijzigen door het koppelteken te vervangen door een spatie.

Oplossing:

SELECT REPLACE( phone, '-', ' ' ) as new_phone
FROM investor;

De query retourneert een lijst met telefoonnummers met spaties in plaats van koppeltekens als scheidingstekens:

new_phone
123 300 400
123 222 456
123 345 400

Discussie:

Als je een subtekenreeks wilt vervangen door een andere tekenreeks, gebruik je gewoon de REPLACE functie. Deze functie heeft drie argumenten:

  • De tekenreeks die moet worden gewijzigd (wat in ons geval een kolom was).
  • De te vervangen subtekenreeks.
  • De tekenreeks waarmee de opgegeven subtekenreeks moet worden vervangen.

In het volgende voorbeeld vervangen we het adjectief 'Big' in de company kolom met 'Klein'.

SELECT REPLACE( company, 'Big', 'Small' ) as new_company
FROM investor
WHERE id = 1;

Deze zoekopdracht toont de nieuwe naam van het bedrijf voor de belegger met id = 1 .

new_company
Kleine markt

  1. NULL vs. 'oneindig' in PostgreSQL-bereiktypen

  2. T-SQL-bugs, valkuilen en best practices – joins

  3. Grondbeginselen van tabeluitdrukkingen, deel 1

  4. Uitdrukkingen gebruiken om gegevens van database te filteren