Oracle Database
Manipulación de cuerdas
Buscar..
Concatenación: Operador || o función concat ()
El Oracle SQL y PL / SQL ||
el operador le permite concatenar 2 o más cadenas juntas.
Ejemplo:
Asumiendo la siguiente tabla de customers
:
id firstname lastname
--- ----------- ----------
1 Thomas Woody
Consulta:
SELECT firstname || ' ' || lastname || ' is in my database.' as "My Sentence"
FROM customers;
Salida:
My Sentence
---------------------------------
Thomas Woody is in my database.
Oracle también admite la función estándar de SQL CONCAT(str1, str2)
:
Ejemplo:
Consulta:
SELECT CONCAT(firstname, ' is in my database.') from customers;
Salida:
Expr1
---------------------------------
Thomas is in my database.
SUPERIOR
La función SUPERIOR le permite convertir todas las letras minúsculas de una cadena a mayúsculas.
SELECT UPPER('My text 123!') AS result FROM dual;
Salida:
RESULT
------------
MY TEXT 123!
INITCAP
La función INITCAP
convierte el caso de una cadena de modo que cada palabra comience con una letra mayúscula y todas las letras subsiguientes estén en minúscula.
SELECT INITCAP('HELLO mr macdonald!') AS NEW FROM dual;
Salida
NEW
-------------------
Hello Mr Macdonald!
INFERIOR
LOWER convierte todas las letras mayúsculas de una cadena a minúsculas.
SELECT LOWER('HELLO World123!') text FROM dual;
Salidas:
texto |
---|
hola world123! |
Expresión regular
Digamos que queremos reemplazar solo números con 2 dígitos: la expresión regular los encontrará con (\d\d)
SELECT REGEXP_REPLACE ('2, 5, and 10 are numbers in this example', '(\d\d)', '#')
FROM dual;
Resultados en:
'2, 5, and # are numbers in this example'
Si quiero intercambiar partes del texto, uso \1
, \2
, \3
para llamar a las cadenas coincidentes:
SELECT REGEXP_REPLACE ('swap around 10 in that one ', '(.*)(\d\d )(.*)', '\3\2\1\3')
FROM dual;
SUBSTR
SUBSTR
recupera parte de una cadena indicando la posición inicial y el número de caracteres que se extraerán
SELECT SUBSTR('abcdefg',2,3) FROM DUAL;
devoluciones:
bcd
Para contar desde el final de la cadena, SUBSTR
acepta un número negativo como segundo parámetro, por ejemplo
SELECT SUBSTR('abcdefg',-4,2) FROM DUAL;
devoluciones:
de
Para obtener el último carácter de una cadena: SUBSTR(mystring,-1,1)
LTRIM / RTRIM
LTRIM
y RTRIM
eliminan los caracteres del principio o del final (respectivamente) de una cadena. Se puede suministrar un conjunto de uno o más caracteres (el valor predeterminado es un espacio) para eliminar.
Por ejemplo,
select LTRIM('<===>HELLO<===>', '=<>')
,RTRIM('<===>HELLO<===>', '=<>')
from dual;
Devoluciones:
HELLO<===>
<===>HELLO