Esta publicación es una continuación del Operador de concatenación de SQL .
Ahora, supongamos que queremos usar apóstrofe en nuestro valor literal pero no podemos usarlo directamente.
Ver Código incorrecto
: SELECT id, nombre, apellido, salario,
nombre||’ tiene el salario ‘||salario
COMO «nuevo» DE uno
Entonces arriba estamos recibiendo un error, porque el servidor de Oracle piensa que el primer apóstrofe es para el literal inicial y el segundo apóstrofe es para el literal final , entonces, ¿qué pasa con el tercer apóstrofe ? Es por eso que obtenemos error.
Operador de cotización alternativo ( q )
:
Para superar el problema anterior, Oracle introduce un operador conocido como Operador de comillas alternativo (q).
Veamos a través de un ejemplo:
Query that uses Alternative Quote Operator(q) SELECT id, first_name, last_name, salary, first_name||q'{ has salary's }'||salary AS "new" FROM myTable
Output: See, we are able to use apostrophe in the new column as a literal value of myTable ID FIRST_NAME LAST_NAME SALARY new 3 Shane Watson 50000 Shane has salary's 50000 1 Rajat Rawat 10000 Rajat has salary's 10000 2 Geeks ForGeeks 20000 Geeks has salary's 20000 3 MS Dhoni 90000 MS has salary's 90000
Aquí arriba, vea q'{ indica el comienzo de nuestro valor literal y luego usamos }’ que indica el final de nuestro valor literal. Así que vea aquí que hemos usado el apóstrofe en nuestro valor literal fácilmente (significa que usamos fácilmente ‘s en el salario) sin ningún error, por eso obtenemos resultados ya que Rajat tiene un salario de 50000.
Entonces, para usar el apóstrofo en literal, primero debemos usar q , que se conoce como operador de comillas alternativo, luego necesitamos usar un apóstrofo ‘ y luego necesitamos usar un delimitador y después del delimitador escribimos nuestro valor literal, cuando terminamos de escribir nuestro valor literal, luego, nuevamente, debemos cerrar el delimitador que hemos abierto antes y después de eso, debemos colocar un apóstrofo nuevamente y, por lo tanto, de esta manera podemos usar el apóstrofe en nuestro valor literal. Este concepto se conoce como Operador de Cotización Alternativa (q).
Podemos usar cualquier carácter como { , < , ( , [ , ! o cualquier carácter como delimitador . Estos caracteres se conocen como delimitadores .
1 otro ejemplo
:
Sin usar Quote Operator :
Here we get Error since we are using apostrophe in our literal value directly. Error code below: SELECT id, name, dept, name||' work's in '||dept||' department' AS "work" FROM myTable2
Uso del operador de comillas :
SELECCIONE id, nombre, departamento, nombre||q'[ trabajo en ‘]’||depto||’
departamento’ COMO «trabajo» DE myTable2
Output: See, we are able to use apostrophe in the work column as a literal value of myTable2 ID NAME DEPT work 1 RR Executive RR work's in 'Executive department 2 GFG HR GFG work's in 'HR department 3 Steve Sales Steve work's in 'Sales department 4 Bhuvi CSE Bhuvi work's in 'CSE department
Aquí arriba, vea, q'[ indica el comienzo de nuestro valor literal y usamos ]’ que indica el final de nuestro valor literal. Así que vea aquí que hemos usado fácilmente el apóstrofe en nuestro valor literal (significa que usamos fácilmente ‘s en el trabajo) sin ningún error, por eso obtenemos la salida como trabajo RR en el Departamento Ejecutivo.]
Aquí arriba usamos [ como delimitador por lo que no es una limitación en el uso de delimitador significa que podemos usar cualquier carácter como delimitador.
Referencias:
Acerca del operador de presupuesto alternativo ,
Realización de consultas SQL en línea
Publicación traducida automáticamente
Artículo escrito por classyallrounder y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA