SQL Charindex

SQL Charindex
Le operazioni di stringa e stringa sono funzionalità universali in tutti i database. Pertanto, è quasi impossibile avere un database non banale senza l'uso di informazioni su stringa e testo.

Questo articolo discuterà un'operazione di stringa standard: utilizzando l'eredità e SQL standard per trovare una sottostringa all'interno di un'altra stringa.

Legacy SQL

Possiamo trovare la posizione di una sottostringa in Legacy SQL usando la funzione instr ().

La funzione prende una stringa e una sottostringa come argomenti. Restituisce quindi una posizione indice basata su uno che indica la prima occorrenza della sottostringa.

Se la sottostringa non viene trovata, la funzione restituisce 0.

La sintassi della funzione è espressa di seguito:

Instr ('string', 'substring');

Possiamo usare questa funzione come mostrato di seguito:

Seleziona instr ('LinuxHint', 'suggerimento') come posizione;

Dovrebbe tornare:

POSIZIONE
6

Come accennato, l'indice di posizione inizia da 1 e non 0.

SQL standard

In SQL standard, utilizziamo la funzione strpos () per ottenere la posizione di una sottostringa. La funzione prende due argomenti: la stringa e la sottobsiccio.

Restituisce quindi una posizione basata su 1-indice della prima occorrenza della sottostringa. Se la sottostringa non viene trovata, la funzione restituisce 0.

La sintassi è come mostrato di seguito:

Strpos (stringa, substring);

L'uso di esempio di questa funzione è come mostrato di seguito:

SELEZIONARE
Strpos ('linuxhint', 'suggerimento') come posizione;

La query dovrebbe restituire la posizione come mostrato:

POSIZIONE
6

Motore di database specifico

Vari motori del database forniscono funzioni diverse per determinare la posizione di una sottostringa. Sebbene la funzionalità rimanga la stessa, la denominazione della funzione è diversa su vari motori di database.

Postgresql e Mysql

Sia PostgreSQL che MySQL usano la funzione Position () per ottenere la posizione di una sottostringa. Un utilizzo di esempio è come mostrato:

Seleziona posizione ("suggerimento" in "LinuxHint") come posizione;

Si noti che la funzione utilizza l'operatore In per specificare quale sottostringa per la ricerca. Questo dovrebbe tornare:

POSIZIONE
----------
6
(1 riga)

In MySQL, puoi anche utilizzare la funzione locate () per trovare la posizione di una sottostringa. Un utilizzo di esempio è mostrato di seguito:

MySQL> Seleziona Locate ('Suggerimento', 'LinuxHint');
-> 6

MS SQL Server

In SQL Server, utilizziamo la funzione charindEx () per determinare la posizione di una sottostringa. Un utilizzo di esempio è mostrato di seguito:

Seleziona charindEx ("suggerimento", "linuxhint");
-> 6

IBM DB2

In DB2, è possibile trovare la posizione di sottostringa utilizzando la funzione POSTR (). Un esempio è mostrato di seguito:

Seleziona POSTR ('Suggerimento', 'LinuxHint');
-> 6

Conclusione

In questo articolo, abbiamo esplorato vari metodi e tecniche per individuare la posizione di una sottostringa in eredità e SQL standard. Abbiamo anche discusso di ogni variazione dei metodi per vari motori di database.

Per saperne di più su SQL standard e legacy, rimanete sintonizzati per gli articoli Linuxhint.