Este artículo discutirá una operación de cadena estándar: utilizando Legacy y estándar SQL para encontrar una subcadena dentro de otra cadena.
Legacy SQL
Podemos encontrar la posición de una subcadena en Legacy SQL utilizando la función Instr ().
La función toma una cadena y una subcadena como argumentos. Luego devuelve una posición de índice basada que denota la primera aparición de la subcadena.
Si no se encuentra la subcadena, la función devuelve 0.
La sintaxis de la función se expresa a continuación:
Instr ('string', 'subcandring');Podemos usar esta función como se muestra a continuación:
Seleccione Instr ('Linuxhint', 'Sugerencia') como posición;Debería regresar:
POSICIÓNComo se mencionó, el índice de posición comienza desde 1 y no 0.
SQL estándar
En SQL estándar, usamos la función strpos () para obtener la ubicación de una subcadena. La función toma dos argumentos: la cadena y la suposición.
Luego devuelve una posición basada en el índice de 1 de la primera ocurrencia de la subcadena. Si no se encuentra la subcadena, la función devuelve 0.
La sintaxis es como se muestra a continuación:
Strpos (cadena, subcadena);El uso de ejemplo de esta función es como se muestra a continuación:
SELECCIONARLa consulta debe devolver la posición como se muestra:
POSICIÓNMotor de base de datos específico
Varios motores de bases de datos proporcionan diferentes funciones para determinar la posición de una subcadena. Aunque la funcionalidad sigue siendo la misma, el nombre de la función es diferente en varios motores de base de datos.
Postgresql y mysql
Tanto PostgreSQL como MySQL usan la función Position () para obtener la ubicación de una subcadena. Un uso de ejemplo es como se muestra:
Seleccione Posición ('Sugerencia' en 'LinuxHint') como posición;Tenga en cuenta que la función usa el operador en especificar qué subcadena buscar. Esto debería volver:
POSICIÓNEn MySQL, también puede usar la función localización () para encontrar la posición de una subcadena. A continuación se muestra un uso de ejemplo:
mysql> seleccione localizar ('sugerir', 'linuxhint');MS SQL Server
En SQL Server, utilizamos la función CharIdex () para determinar la posición de una subcadena. A continuación se muestra un uso de ejemplo:
Seleccione Charindex ('Sugerencia', 'Linuxhint');IBM DB2
En DB2, puede encontrar la posición de subcadena utilizando la función postr (). A continuación se muestra un ejemplo:
Seleccione Posstr ('Sugerencia', 'LinuxHint');Conclusión
En este artículo, exploramos varios métodos y técnicas para localizar la posición de una subcadena en Legacy y SQL estándar. También discutimos cada variación de los métodos para varios motores de bases de datos.
Para obtener más información sobre SQL estándar y heredado, estén atentos a los artículos de Linuxhint.