[SQL] λ¬Έμμ΄ ν¨μ(1)
π CONCAT
SQLμμ CONCAT ν¨μλ λ¬Έμμ΄μ κ²°ν©νλ λ° μ¬μ©λλ ν¨μμ΄λ€. μ΄ ν¨μλ λ κ° μ΄μμ λ¬Έμμ΄μ νλμ λ¬Έμμ΄λ‘ ν©μΉλ λ°μ μ°μ΄λ©°, κ°λ¨ν λ°©λ²μΌλ‘ λ¬Έμμ΄μ μ°κ²°ν μ μλ€. CONCAT ν¨μλ μΌλ°μ μΌλ‘ λ€μκ³Ό κ°μ νμμ κ°μ§λ€.
-- κΈ°λ³Έ νμ
CONCAT(string1, string2, ...)
-- CONCAT ν¨μλ₯Ό μ¬μ©νμ¬ λ λ¬Έμμ΄μ κ²°ν©νλ μμ
SELECT CONCAT('Hello', ' ', 'World') AS Result;
-- λ³μλ μ΄μ κ°μ κ²°ν©
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;
-- || μ°μ°μλ₯Ό λ¬Έμμ΄μ κ²°ν©νλ λ°μ μ¬μ©
SELECT first_name || ' ' || last_name AS full_name
FROM employees;
π CAST, CONVERT
CASTμ CONVERT ν¨μλ λ°μ΄ν° νμμ λ³ννλ λ° μ¬μ©λλ ν¨μμ΄λ€. μ΄ λ ν¨μλ κΈ°λ³Έμ μΌλ‘ λμΌν λͺ©μ μ κ°μ§κ³ μμΌλ©°, λ°μ΄ν°λ₯Ό ν νμμμ λ€λ₯Έ νμμΌλ‘ λ³νν λ μ μ©νλ€. κ·Έλ¬λ κ° λ°μ΄ν°λ² μ΄μ€ μμ€ν μ λ°λΌ λ¬Έλ²μ΄ μ½κ° λ€λ₯Ό μ μλ€.
-- κΈ°λ³Έ νμ
CAST(expression AS data_type)
-- μ μλ₯Ό λ¬Έμμ΄λ‘ λ³ν
SELECT CAST(123 AS VARCHAR) AS result;
CONVERT ν¨μλ νΉμ λ°μ΄ν°λ² μ΄μ€ μμ€ν μμ μ¬μ©λλ ν¨μλ‘, λ¬Έλ²μ΄ CASTμ μ μ¬νμ§λ§ λ°μ΄ν°λ² μ΄μ€μ λ°λΌ μ½κ° λ€λ₯Ό μ μλ€.
-- κΈ°λ³Έ νμ
-- data_typeμ λ³ννλ €λ λ°μ΄ν° νμ, expressionμ
-- λ³ννλ €λ κ°μ΄λ μ΄, styleμ λ μ§ λ° μκ° λ°μ΄ν° νμμ κ²½μ° μμμ μ§μ νλ λ° μ¬μ©
CONVERT(data_type, expression, style)
-- νμ©μμ
SELECT CONVERT(VARCHAR, 123) AS result;
-- λ μ§λ₯Ό λ¬Έμμ΄λ‘ λ³ν
SELECT CONVERT(VARCHAR, GETDATE(), 120) AS result;
π ISNULL, COALESCE
ISNULL ν¨μλ Microsoft SQL Serverμμ μ¬μ©λλ©°, NULLμΈ κ²½μ° λ체 κ°μ λ°ννλ€.
-- κΈ°λ³Ένμ
-- expressionμ νκ°ν κ°μ΄κ³ , replacement_valueλ expressionμ΄ NULLμΈ κ²½μ° λ°νν κ°
ISNULL(expression, replacement_value)
-- νμ©μμ
SELECT ISNULL(column_name, 'No Value') AS result
FROM table_name;
-- μ 쿼리λ νΉμ μ΄μ κ°μ΄ NULLμΈ κ²½μ° 'No Value'λ₯Ό λ°ν
COALESCE ν¨μλ νμ€ SQLμμ μ¬μ©λλ ν¨μλ‘, μ¬λ¬ μΈμ μ€μμ 첫 λ²μ§Έλ‘ NULLμ΄ μλ κ°μ λ°ννλ€.
-- κΈ°λ³Ένμ
-- value1, value2, ..., valueNμ νκ°ν μ¬λ¬ κ°μ΄κ³ , COALESCEλ NULLμ΄ μλ 첫 λ²μ§Έ κ°μ λ°ν
COALESCE(value1, value2, ..., valueN)
-- νμ©μμ
SELECT COALESCE(column_name, 'No Value') AS result
FROM table_name;
ISNULLκ³Ό λ§μ°¬κ°μ§λ‘, μ 쿼리λ νΉμ μ΄μ κ°μ΄ NULLμΈ κ²½μ° 'No Value'λ₯Ό λ°ν
π LOWER, UPPER
LOWER ν¨μλ λ¬Έμμ΄μ λͺ¨λ λ¬Έμλ₯Ό μλ¬Έμλ‘ λ³ννλ€.
-- κΈ°λ³Ένμ
-- stringμ μλ¬Έμλ‘ λ³ννλ €λ λ¬Έμμ΄
LOWER(string)
-- νμ©μμ
SELECT LOWER('Hello World') AS result;
-- 'Hello World' λ¬Έμμ΄μ λͺ¨λ μλ¬Έμλ‘ λ³ννμ¬ 'hello world'λ₯Ό λ°ν
UPPER ν¨μλ λ¬Έμμ΄μ λͺ¨λ λ¬Έμλ₯Ό λλ¬Έμλ‘ λ³ννλ€.
-- κΈ°λ³Ένμ
UPPER(string)
-- νμ©μμ
SELECT UPPER('Hello World') AS result;
-- 'Hello World' λ¬Έμμ΄μ λͺ¨λ λλ¬Έμλ‘ λ³ννμ¬ 'HELLO WORLD'λ₯Ό λ°ν
π LTRIM, RTRIM, λ° TRIM
SQLμμλ LTRIM, RTRIM, λ° TRIM ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ μ’μΈ‘, μ°μΈ‘ λ λλ μμͺ½ λμμ 곡백μ΄λ λ€λ₯Έ μ§μ λ λ¬Έμλ₯Ό μ κ±°ν μ μλ€.
LTRIM, RTRIMν¨μλ κ°κ° λ¬Έμμ΄μ μ’μΈ‘κ³Ό μ°μΈ‘ λμμ 곡백μ΄λ λ€λ₯Έ μ§μ λ λ¬Έμλ₯Ό μ κ±°νλ λ° μ¬μ©λλ€.
-- κΈ°λ³Ένμ
LTRIM(string)
RTRIM(string)
-- νμ©μμ
SELECT LTRIM(' Hello World ') AS result;
SELECT RTRIM(' Hello World ') AS result;
-- Hello World ' λ¬Έμμ΄μ μ’μΈ‘ νΉμ μ°μΈ‘μ μλ 곡백μ μ κ±°νμ¬ 'Hello World 'λ₯Ό λ°ν
TRIM ν¨μλ λ¬Έμμ΄μ μμͺ½ λμμ 곡백μ΄λ λ€λ₯Έ μ§μ λ λ¬Έμλ₯Ό μ κ±°νλ λ° μ¬μ©λλ€.
-- κΈ°λ³Ένμ
-- leading, trailing, bothλ κ°κ° μ’μΈ‘, μ°μΈ‘, μμͺ½μ μλ―Έ
-- trim_characterλ μ κ±°ν λ¬Έμλ₯Ό μ§μ
TRIM([leading | trailing | both] [trim_character FROM] string)
-- νμ©μμ
SELECT TRIM(' Hello World ') AS result;
--' Hello World ' λ¬Έμμ΄μ μμͺ½μ μλ 곡백μ μ κ±°νμ¬ 'Hello World'λ₯Ό λ°ν
π LEN
LEN ν¨μλ SQLμμ λ¬Έμμ΄μ κΈΈμ΄(λ¬Έμ μ)λ₯Ό λ°ννλ ν¨μμ΄λ€. μ΄ ν¨μλ μ£Όλ‘ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό νμΈνκ±°λ λ¬Έμμ΄μ μΌλΆλ₯Ό μΆμΆνλ λ° μ¬μ©λλ€. LEN ν¨μλ κ° λ°μ΄ν°λ² μ΄μ€ μμ€ν μμ μ‘°κΈμ© λ€λ₯Ό μ μμ§λ§, μΌλ°μ μΈ μ¬μ© νμμ λ€μκ³Ό κ°λ€.
-- κΈ°λ³Ένμ
-- stringμ κΈΈμ΄λ₯Ό νμΈνλ €λ λ¬Έμμ΄
LEN(string)
-- νμ©μμ
SELECT LEN('Hello World') AS string_length;
-- 'Hello World' λ¬Έμμ΄μ κΈΈμ΄λ₯Ό νμΈνμ¬ κ²°κ³Όλ‘ 11μ λ°ν
π CHARINDEX
CHARINDEX ν¨μλ SQLμμ λ¬Έμμ΄μμ νΉμ λ¬Έμ λλ λΆλΆ λ¬Έμμ΄μ 첫 λ²μ§Έ λ°μ μμΉλ₯Ό μ°Ύλ λ° μ¬μ©λλ ν¨μμ λλ€. μ΄ ν¨μλ μΌμΉνλ λ¬Έμ λλ λΆλΆ λ¬Έμμ΄μ΄ λ¬Έμμ΄ λ΄μμ μ΄λμ μμΉνλμ§λ₯Ό μλ €μ€λ€.
-- κΈ°λ³Ένμ
-- substring: μ°Ύκ³ μ νλ λΆλΆ λ¬Έμμ΄
-- string: κ²μ λμμ΄ λλ λ¬Έμμ΄
-- start_location (μ νμ ): κ²μμ μμν μμΉ
-- μ΄ λ§€κ°λ³μλ₯Ό μλ΅νλ©΄ κ²μμ λ¬Έμμ΄μ μ²μλΆν° μμ
CHARINDEX(substring, string [, start_location])
-- νμ©μμ
SELECT CHARINDEX('World', 'Hello World') AS position;
-- 'Hello World' λ¬Έμμ΄μμ 'World'λΌλ λΆλΆ λ¬Έμμ΄μ μμ μμΉλ₯Ό μ°Ύμμ κ²°κ³Όλ‘ 7μ λ°ν
π LEFT, RIGHT
LEFT λ° RIGHT ν¨μλ SQLμμ λ¬Έμμ΄μ μ‘°μνλ λ° μ¬μ©λλ ν¨μλ‘, κ°κ° λ¬Έμμ΄μ μΌμͺ½ λλ μ€λ₯Έμͺ½ λΆλΆμ λ°ννλ€.
-- κΈ°λ³Ένμ
-- string: μ²λ¦¬ν λ¬Έμμ΄
-- length: λ°νν λ¬Έμμ κΈΈμ΄
LEFT(string, length)
RIGHT(string, length)
-- νμ©μμ
SELECT LEFT('Hello World', 5) AS result;
SELECT RIGHT('Hello World', 5) AS result;
-- 'Hello World' λ¬Έμμ΄μμ μΌμͺ½ νΉμ μ€λ₯Έμͺ½μμλΆν° 5κ°μ λ¬Έμλ₯Ό μΆμΆνμ¬
-- κ°κ° 'Hello', 'World'λ₯Ό λ°ν