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:
POSIZIONECome 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:
SELEZIONARELa query dovrebbe restituire la posizione come mostrato:
POSIZIONEMotore 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:
POSIZIONEIn 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');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");IBM DB2
In DB2, è possibile trovare la posizione di sottostringa utilizzando la funzione POSTR (). Un esempio è mostrato di seguito:
Seleziona POSTR ('Suggerimento', 'LinuxHint');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.