SQL | Funciones de caracteres con ejemplos

Las funciones de caracteres aceptan entradas de caracteres y pueden devolver caracteres o valores numéricos como salida. SQL proporciona varios tipos de datos de caracteres diferentes que incluyen: CHAR, VARCHAR, VARCHAR2, LONG, RAW y LONG RAW. Los diversos tipos de datos se clasifican en tres tipos de datos diferentes:

  1. VARCHAR2 : un tipo de datos de caracteres de longitud variable cuyos datos son convertidos por el RDBMS.
  2. CHAR : el tipo de datos de longitud fija.
  3. RAW : un tipo de datos de longitud variable cuyos datos no son convertidos por el RDBMS, sino que se dejan en forma «sin procesar».

Nota: cuando una función de caracteres devuelve un valor de carácter, ese valor siempre es de tipo VARCHAR2 (longitud variable), con las siguientes dos excepciones: SUPERIOR y INFERIOR. Estas funciones convierten a mayúsculas y minúsculas, respectivamente, y devuelven los valores CHAR (longitud fija) si las strings a las que se les llama para convertir son argumentos CHAR de longitud fija .

Funciones de caracteres

SQL proporciona un amplio conjunto de funciones de caracteres que le permiten obtener información sobre strings y modificar el contenido de esas strings de varias maneras. Las funciones de caracteres son de los dos tipos siguientes:
1. Funciones de manipulación de mayúsculas y minúsculas (LOWER, UPPER e INITCAP)
2. Funciones de manipulación de caracteres (CONCAT, LENGTH, SUBSTR, INSTR, LPAD, RPAD, TRIM y REPLACE)

Funciones de manipulación de casos

  1. LOWER: Esta función convierte valores de caracteres alfabéticos a minúsculas. LOWER en realidad devolverá una string de longitud fija si la string entrante es de longitud fija. LOWER no cambiará ningún carácter de la string que no sean letras, ya que las mayúsculas y minúsculas son irrelevantes para números y caracteres especiales, como el signo de dólar ($) o el módulo (%).
    Sintaxis:
    LOWER(SQL course)
    Input1: SELECT LOWER('GEEKSFORGEEKS') FROM DUAL;
    Output1: geeksforgeeks
    
    Input2: SELECT LOWER('DATABASE@456') FROM DUAL;
    Output2: database@456
  2. SUPERIOR: esta función convierte los valores de los caracteres alfabéticos a mayúsculas. Además, la función SUPERIOR también devolverá una string de longitud fija si la string entrante es de longitud fija. UPPER no cambiará ningún carácter de la string que no sean letras, ya que las mayúsculas y minúsculas son irrelevantes para números y caracteres especiales, como el signo de dólar ($) o el módulo (%).
    Sintaxis:
    UPPER(SQL course)
    Input1: SELECT UPPER('geeksforgeeks') FROM DUAL;
    Output1: GEEKSFORGEEKS
    
    Input2: SELECT UPPER('dbms$508%7') FROM DUAL;
    Output2: DBMS$508%7
  3. INITCAP: esta función convierte los valores de los caracteres alfabéticos en mayúsculas para la primera letra de cada palabra y todos los demás en minúsculas. Las palabras en la string deben estar separadas por # o _ o espacio.
    Sintaxis:
    INITCAP(SQL course)
    Input1: SELECT INITCAP('geeksforgeeks is a computer science portal for geeks') FROM DUAL;
    Output1: Geeksforgeeks Is A Computer Science Portal For Geeks 
    
    Input2: SELECT INITCAP('PRACTICE_CODING_FOR_EFFICIENCY') FROM DUAL;
    Output2: Practice_Coding_For_Efficiency

Funciones de manipulación de caracteres

  1. CONCAT: esta función siempre agrega (concatena) string2 al final de string1. Si alguna de las strings es NULL, la función CONCAT devuelve el argumento no NULL. Si ambas strings son NULL, CONCAT devuelve NULL.
    Sintaxis:
     CONCAT('String1', 'String2')
    Input1: SELECT CONCAT('computer' ,'science') FROM DUAL;
    Output1: computerscience
    
    Input2: SELECT CONCAT( NULL ,'Android') FROM DUAL;
    Output2: Android 
    
    Input3: SELECT CONCAT( NULL ,NULL ) FROM DUAL;
    Output3: - 
  2. LONGITUD: esta función devuelve la longitud de la string de entrada. Si la string de entrada es NULL, entonces la función LENGTH devuelve NULL y no Zero. Además, si la string de entrada contiene espacios extra al principio, o en el medio o al final de la string, la función LENGTH también incluye los espacios extra y devuelve la longitud completa de la string.
    Sintaxis:
    LENGTH(Column|Expression)
    Input1: SELECT LENGTH('Learning Is Fun') FROM DUAL;
    Output1: 15 
    
    Input2: SELECT LENGTH('   Write an Interview  Experience ') FROM DUAL;
    Output2: 34
     
    Input3: SELECT LENGTH('') FROM DUAL; or SELECT LENGTH( NULL ) FROM DUAL;
    Output3: - 
  3. SUBSTR: esta función devuelve una parte de una string desde un punto de inicio dado hasta un punto final. Si no se proporciona una longitud de substring, SUBSTR devuelve todos los caracteres hasta el final de la string (desde la posición inicial especificada).
    Sintaxis:
    SUBSTR('String',start-index,length_of_extracted_string)
    Input1: SELECT SUBSTR('Database Management System', 9) FROM DUAL;
    Output1: Management System
    
    Input2: SELECT SUBSTR('Database Management System', 9, 7) FROM DUAL;
    Output2: Manage 
  4. INSTR: esta función devuelve la posición numérica de un carácter o una string en una string dada. Opcionalmente, puede proporcionar una posición m para comenzar a buscar y la ocurrencia n de la string. Además, si no se proporciona la posición inicial, entonces comienza la búsqueda desde el índice 1, de forma predeterminada. Si después de buscar en la string, no se encuentra ninguna coincidencia, la función INSTR devuelve 0.
    Syntax: INSTR(Column|Expression, 'String', [,m], [n])
    Input: SELECT INSTR('Google apps are great applications','app',1,2) FROM DUAL;
    Output: 23 
  5. LPAD y RPAD: Estas funciones devuelven las strings rellenadas a la izquierda oa la derecha (según el uso); de ahí la “L” en “LPAD” y la “R” en “RPAD”; a una longitud especificada y con una string de pad especificada. Si no se especifica la string de relleno, entonces la string dada se rellena a la izquierda o a la derecha (según el uso) con espacios.
    Sintaxis:
    LPAD(Column|Expression, n, 'String')
    Syntax: RPAD(Column|Expression, n, 'String')
    LPAD Input1: SELECT LPAD('100',5,'*') FROM DUAL;
    LPAD Output1: **100
    
    LPAD Input2: SELECT LPAD('hello', 21, 'geek') FROM DUAL;
    LPAD Output2: geekgeekgeekgeekhello
    
    RPAD Input1: SELECT RPAD('5000',7,'*') FROM DUAL;
    RPAD Output1: 5000*** 
    
    RPAD Input1: SELECT RPAD('earn', 19, 'money') FROM DUAL;
    RPAD Output1: earnmoneymoneymoney
  6. TRIM: esta función recorta la entrada de string desde el principio o el final (o ambos). Si no se especifica ninguna string o carácter para recortar de la string y existe algún espacio adicional al principio o al final de la string, esos espacios adicionales se eliminan.
    Syntax: 
    TRIM(Leading|Trailing|Both, trim_character FROM trim_source)
    Input1: SELECT TRIM('G' FROM 'GEEKS') FROM DUAL;
    Output1: EEKS
    
    Input2: SELECT TRIM('        geeksforgeeks   ') FROM DUAL; 
    Output2:geeksforgeeks
  7. REEMPLAZAR: esta función busca una string de caracteres y, si la encuentra, la reemplaza con una string de reemplazo determinada en todas las apariciones de la string. REEMPLAZAR es útil para buscar patrones de caracteres y luego cambiar todas las instancias de ese patrón en una sola llamada de función.
    Si no se proporciona una string de reemplazo, la función REEMPLAZAR elimina todas las apariciones de esa string de caracteres en la string de entrada. Si no se especifica una string coincidente ni una string de reemplazo, REPLACE devuelve NULL.

    Sintaxis:

     REPLACE(Text, search_string, replacement_string)
    Input1: SELECT REPLACE('DATA MANAGEMENT', 'DATA','DATABASE') FROM DUAL;
    Output1: DATABASE MANAGEMENT 
    
    Input2: SELECT REPLACE('abcdeabcccabdddeeabcc', 'abc') FROM DUAL;            
    Output2: deccabdddeec

Este artículo es una contribución de Anshika Goyal. Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *