REPLACE
βREPLACEβ ν¨μλ SQLμμ λ¬Έμμ΄ λ΄μ νΉμ λΆλΆμ λ€λ₯Έ λ¬Έμμ΄λ‘ λ°κΎΈκ³ μ ν λ μ¬μ©λ©λλ€.
- μ΄ ν¨μλ λ°μ΄ν° μ μ λ μμ μμ μμ νΉν μ μ©νλ©°, κΈ°μ‘΄ λ¬Έμμ΄ λ΄μ νΉμ ν¨ν΄μ΄λ λ¬Έμλ₯Ό μ°Ύμ μ΄λ₯Ό μλ‘μ΄ λ¬Έμμ΄λ‘ λ체νλ κΈ°λ₯μ μ 곡ν©λλ€.
- βREPLACEβ λ λ‘κ·Έ λ°μ΄ν° μ 리, μ¬μ©μ μ λ ₯ λ°μ΄ν°μ νμ€ν, λ°μ΄ν° λ§μ΄κ·Έλ μ΄μ μμ λ± λ€μν μν©μμ νμ©λ μ μμ΅λλ€.
βREPLACEβ μ¬μ© μ
-
νΉμ λ¬Έμμ΄ λ체: κ³ κ° λ°μ΄ν°μμ μ νλ²νΈ νμμ λ³κ²½νκ³ μΆμ λ
SELECT REPLACE(phone_number, '-', '') FROM customers;
μ΄ μΏΌλ¦¬λ βcustomersβ ν μ΄λΈμ βphone_numberβ μ΄μμ λͺ¨λ β-β λ₯Ό μ κ±°ν©λλ€.
μλ₯Ό λ€μ΄, β123-456-7890β μ΄λΌλ μ νλ²νΈκ° μμ κ²½μ°, β1234567890β μΌλ‘ λ³κ²½λ©λλ€. -
λ°μ΄ν° μ μ : μ¬μ©μμ μ΄λ©μΌ μ£Όμμμ λλ©μΈμ λ³κ²½νκ³ μΆμ λ
UPDATE users SET email = REPLACE(email, '@old_domain.com', '@new_domain.com');
μ΄ μΏΌλ¦¬λ βusersβ ν μ΄λΈμ βemailβ μ΄μμ β@old_domail.comβ μ β@new_domain.comβ μΌλ‘ λ³κ²½ν©λλ€.
-
ν
μ€νΈ λ΄μ© μμ : μν μ€λͺ
μμ νΉμ λ¨μ΄λ₯Ό μλ‘μ΄ λ¨μ΄λ‘ λ°κΎΈκ³ μΆμ λ
UPDATE products SET description = REPLACE(description, 'oldword', 'newword');
μ΄ μΏΌλ¦¬λ βproductsβ ν μ΄λΈμ βdescriptionβ μ΄μμ βoldwordβ λ₯Ό βnewwordβ λ‘ λ³κ²½ν©λλ€.
βREPLACEβ ν¨μμ νΉμ§.
-
βREPLACEβ λ λμλ¬Έμλ₯Ό ꡬλΆνμ¬ μλν©λλ€.
- λμλ¬Έμ κ΅¬λΆ μμ΄ λ체λ₯Ό νκ³ μ ν κ²½μ°, μΆκ°μ μΈ ν¨μλ 쑰건μ μ¬μ©ν΄μΌ ν μ μμ΅λλ€.
- λ¬Έμμ΄ λ΄μμ μ§μ λ ν¨ν΄μ΄λ λ¬Έμμ΄μ μ°Ύμ λͺ¨λ λ체ν©λλ€.
- μ°Ύκ³ μ νλ λ¬Έμμ΄μ΄ μ‘΄μ¬νμ§ μμΌλ©΄, μλ³Έ λ¬Έμμ΄μ΄ λ³κ²½ μμ΄ κ·Έλλ‘ λ°νλ©λλ€.
- βREPLACEβ ν¨μλ βSELECTβ, βUPDATEβ λ±μ 쿼리 λ΄μμ μ¬μ©ν μ μμΌλ©°, λ°μ΄ν° μ‘°ν λλ μμ μμ μ λͺ¨λ μ μ©ν μ μμ΅λλ€.
μ¬μ© μ κ³ λ €μ¬ν
- λλμ λ°μ΄ν°λ₯Ό μ²λ¦¬ν λλ βREPLACEβ ν¨μλ₯Ό μ¬μ©νλ 쿼리μ μ±λ₯μ μ£Όμν΄μΌ ν©λλ€.
- νΉν βUPDATEβ μμ μμλ λ체 μμ μΌλ‘ μΈν΄ λλμ λ°μ΄ν°κ° λ³κ²½λ μ μμΌλ―λ‘, μ¬μ μ μμ λ²μλ₯Ό μ νμ νκ³ νμν λ°±μ μ μννλ κ²μ΄ μ’μ΅λλ€.
- λ¬Έμμ΄ λ체 μμ μ μνν λλ μμΉ μλ λ°μ΄ν° λ³κ²½μ λ°©μ§νκΈ° μν΄, λ체ν λ¬Έμμ΄μ΄ μ νν μΌμΉνλμ§ μ¬μ μ νμΈνλ κ²μ΄ μ€μν©λλ€.
βREPLACEβ ν¨μλ λ¬Έμμ΄ λ°μ΄ν°λ₯Ό μ½κ² μμ νκ³ μ μ ν μ μλ κ°λ ₯ν λꡬλ‘, λ°μ΄ν°λ² μ΄μ€ λ΄μ λ°μ΄ν° κ΄λ¦¬ λ° μ μ§λ³΄μ μμ μ λ리 μ¬μ©λ©λλ€.
SUBSTRING
βSUBSTRINGβ ν¨μλ SQLμμ λ¬Έμμ΄μ νΉμ λΆλΆμ μΆμΆν λ μ¬μ©λ©λλ€.
- μ΄ ν¨μλ λ¬Έμμ΄ λ°μ΄ν° λ΄μμ νΉμ μμΉλ₯Ό κΈ°μ€μΌλ‘ ν λΆλΆ λ¬Έμμ΄(substring)μ λ°ννλ©°, λ°μ΄ν° μ μ , νΉμ νμμ λ°μ΄ν° μΆμΆ, λλ λ¬Έμμ΄ μ²λ¦¬ μμ μμ λ§€μ° μ μ©ν©λλ€.
- βSUBSTRINGβ μ λ‘κ·Έ λΆμ, λ°μ΄ν° λ§μ΄κ·Έλ μ΄μ , μ¬μ©μ μ λ ₯μ νΉμ λΆλΆ μ²λ¦¬ λ± λ€μν μν©μμ νμ©λ μ μμ΅λλ€.
βSUBSTRINGβ μ¬μ© μ
-
νΉμ μμΉμ λ¬Έμμ΄ μΆμΆ: μ¬μ©μ μ΄λ©μΌμμ λλ©μΈ λΆλΆλ§μ μΆμΆνκ³ μΆμ λ
SELECT SUBSTRING(email FROM POSITION ('@' IN email) + 1) FROM users;
μ΄ μΏΌλ¦¬λ βusersβ ν μ΄λΈμ βemailβ μ΄μμ β@β κΈ°νΈ λ€μ λλ©μΈ λΆλΆμ μΆμΆν©λλ€.
-
κ³ μ λ νμμ λ¬Έμμ΄ μ²λ¦¬: μ νλ²νΈμμ μ§μ μ½λλ₯Ό μΆμΆνκ³ μΆμ λ
SELECT SUBSTRING(phone_number, 1, 3) FROM customers;
μ΄ μΏΌλ¦¬λ βcustomersβ ν μ΄λΈμ βphone_numberβ μ΄μμ μ²μ 3μ리(μ§μ μ½λ)λ₯Ό μΆμΆν©λλ€.
-
λ¬Έμμ΄μ νΉμ λΆλΆ μμ μμ
μ μ¬μ©: μ£Όμμμ νΉμ λΆλΆμ λ€λ₯Έ νμμΌλ‘ λ³κ²½νκ³ μΆμ λ
UPDATE addresses SET street = SUBSTRING(street, 1, 10) || '...' WHERE LENGTH(street) > 10;
μ΄ μΏΌλ¦¬λ βaddressesβ ν μ΄λΈμ βstreetβ μ΄μμ λ¬Έμμ΄μ κΈΈμ΄κ° 10μλ₯Ό μ΄κ³Όνλ κ²½μ°, μ²μ 10μλ§μ λ¨κΈ°κ³ κ·Έ λ€λ₯Ό ββ¦β μΌλ‘ λ체ν©λλ€.
βSUBSTRINGβ ν¨μμ νΉμ§
- βSUBSTRINGβ μ λ¬Έμμ΄μ νΉμ μΉμ μ λ°ννλ λ° μ¬μ©λλ©°, μμ μμΉμ κΈΈμ΄(μ νμ )λ₯Ό μ§μ νμ¬ μνλ λΆλΆ λ¬Έμμ΄μ μΆμΆν μ μμ΅λλ€.
- λ€μν λ¬Έμμ΄ μ²λ¦¬ μμ μ νμ©λ μ μμΌλ©°, λ°μ΄ν°μ νμμ λ³κ²½νκ±°λ, νΉμ ν¨ν΄μ κΈ°λ°ν μ 보λ₯Ό μΆμΆνλ λ±μ λͺ©μ μΌλ‘ μ¬μ©λ©λλ€.
- ν¨μμ μ νν ꡬ문μ μ¬μ©νλ SQL λ°μ΄ν°λ² μ΄μ€ μμ€ν μ λ°λΌ μ½κ°μ© λ€λ₯Ό μ μμΌλ―λ‘, ν΄λΉ μμ€ν μ λ¬Έμλ₯Ό μ°Έμ‘°νλ κ²μ΄ μ’μ΅λλ€.
μ¬μ© μ κ³ λ €μ¬ν
- βSUBSTRINGβ ν¨μλ₯Ό μ¬μ©ν λλ λ¬Έμμ΄μ μΈλ±μ€κ° 1λΆν° μμνλ€λ μ μ μ£Όμν΄μΌ ν©λλ€.(λλΆλΆμ SQL μμ€ν μμ).
- λλμ λ°μ΄ν°λ₯Ό μ²λ¦¬ν λλ βSUBSTRINGβ ν¨μλ₯Ό μ¬μ©νλ 쿼리μ μ±λ₯μ μ£Όμν΄μΌ ν©λλ€. νμν κ²½μ°, μ μ ν μΈλ±μ€ μ¬μ©κ³Ό λ°μ΄ν° νν°λ§μ ν΅ν΄ μ±λ₯μ μ΅μ νν μ μμ΅λλ€.
βSUBSTRINGβ ν¨μλ λ¬Έμμ΄ λ°μ΄ν°λ₯Ό ν¨κ³Όμ μΌλ‘ μ²λ¦¬νκ³ λΆμνλ λ° μμ΄ νμμ μΈ λꡬλ‘, λ°μ΄ν°λ² μ΄μ€ λ΄μμ λ€μν λ¬Έμμ΄ μ‘°μ μμ μ μννλ λ° λ리 μ¬μ©λ©λλ€.
CONCAT
βCONCATβ ν¨μλ SQLμμ λ κ° μ΄μμ λ¬Έμμ΄μ νλλ‘ κ²°ν©ν λ μ¬μ©λ©λλ€.
- μ΄ ν¨μλ λ°μ΄ν°λ² μ΄μ€ λ΄μμ λ€μν λ¬Έμμ΄ μ 보λ₯Ό ν©μ³ μλ‘μ΄ λ¬Έμμ΄ κ°μ μμ±νκ³ μ ν λ μ μ©νλ©°, λ³΄κ³ μ μμ±, λ°μ΄ν° νμμ νμ€ν, μ¬μ©μ μ΄λ¦μ΄λ μ£Όμμ κ°μ λ°μ΄ν°μ κ²°ν© λ± λ€μν μν©μμ νμ©λ μ μμ΅λλ€.
βCONCATβ μ¬μ© μ
-
λ¨μν λ¬Έμμ΄ κ²°ν©: μ¬μ©μμ μ΄λ¦κ³Ό μ±μ νλμ λ¬Έμμ΄λ‘ κ²°ν©νκ³ μΆμ λ
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;
μ΄ μΏΌλ¦¬λ βusersβ ν μ΄λΈμ βfirst_nameβ κ³Ό βlast_nameβ μ 곡백μΌλ‘ ꡬλΆνμ¬ κ²°ν©ν ν, βfull_nameβ μ΄λΌλ μλ‘μ΄ μ΄λ‘ κ²°κ³Όλ₯Ό λ°νν©λλ€.
-
볡μμ μ΄ κ²°ν©: κ³ κ°μ μ£Όμ μ 보λ₯Ό νλμ λ¬Έμμ΄λ‘ κ²°ν©νκ³ μΆμ λ
SELECT CONCAT(street_address, ', ', city, state, ' ', postal_code) AS full_address FROM customers;
μ΄ μΏΌλ¦¬λ βcustomersβ ν μ΄λΈμμ μ¬λ¬ μ£Όμ κ΄λ ¨ μ΄μ μ½€λ§μ 곡백μ μ¬μ©νμ¬ κ²°ν©νκ³ , μ΄λ₯Ό βfull_addressβ λΌλ μλ‘μ΄ μ΄λ‘ κ²°κ³Όλ₯Ό λ°νν©λλ€.
-
λ°μ΄ν° νμ νμ€ν: μν μ½λμ μν μ΄λ¦μ κ²°ν©νμ¬ νμ€ νμμ μν μ 보λ₯Ό μμ±νκ³ μΆμ λ
SELECT CONCAT(product_code, ': ', product_name) AS product_info FROM products;
μ΄ μΏΌλ¦¬λ βproductsβ ν μ΄λΈμ βproduct_codeβ μ βproduct_nameβ μ μ½λ‘ κ³Ό 곡백μΌλ‘ ꡬλΆνμ¬ κ²°ν©ν ν,
βproduct_infoβ λΌλ μλ‘μ΄ μ΄λ‘ κ²°κ³Όλ₯Ό λ°νν©λλ€.
βCONCATβ ν¨μμ νΉμ§
- βCONCATβ ν¨μλ λ κ° μ΄μμ λ¬Έμμ΄μ λ§€κ°λ³μλ‘ λ°μ μ΄λ€μ μμλλ‘ κ²°ν©ν μλ‘μ΄ λ¬Έμμ΄μ μμ±ν©λλ€.
- κ±°μ λͺ¨λ SQL λ°μ΄ν°λ² μ΄μ€ μμ€ν μμ μ§μλλ©°, λ¬Έμμ΄ μ²λ¦¬μ λ°μ΄ν° νμμ λ³νμ λ리 μ¬μ©λ©λλ€.
-
μΌλΆ λ°μ΄ν°λ² μ΄μ€ μμ€ν μμλ βCONCATβ λμ μ°μ°μ(**β Β β** λ±)λ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄μ κ²°ν©ν μλ μμ΅λλ€.
μ¬μ© μ κ³ λ €μ¬ν
- κ²°ν©νλ €λ λ¬Έμμ΄ μ€ νλλΌλ βNULLβ κ°μ ν¬ν¨νλ κ²½μ°, βCONCATβ μ λμμ λ°μ΄ν°λ² μ΄μ€ μμ€ν
μ λ°λΌ λ€λ₯Ό μ μμ΅λλ€.
- μλ₯Ό λ€μ΄, μΌλΆ μμ€ν μ βNULLβ μ λΉ λ¬Έμμ΄λ‘ μ·¨κΈν μ μμΌλ, λ€λ₯Έ μμ€ν μμλ μ 체 κ²°κ³Όκ° βNULLβ μ΄ λ μ μμ΅λλ€.
- 볡μ‘ν λ¬Έμμ΄ κ²°ν©μ μνν λλ μ±λ₯μ μ£Όμν΄μΌ νλ©°, νΉν λλμ λ°μ΄ν°λ₯Ό μ²λ¦¬ν λλ 쿼리 μ±λ₯μ ν μ€νΈνκ³ μ΅μ ννλ κ²μ΄ μ€μν©λλ€.
βCONCATβ ν¨μλ λ¬Έμμ΄ λ°μ΄ν°λ₯Ό κ²°ν©νκ³ μ‘°μνλ κ³Όμ μμ νμμ μΈ λꡬλ‘, λ°μ΄ν°λ² μ΄μ€ λ΄μμ λ€μν λ¬Έμμ΄ κ΄λ ¨ μμ μ ꡬννλ λ° νμ©λ©λλ€.