본문 바로가기
Data/SQL

SQL의 문법 기록

by Coding_WONI 2023. 10. 19.

1. SIGNED는 파이썬의 INT와 달리 반올림으로 작동된다.

CAST(1.1 AS SIGNED)	--1
CAST(1.5 AS SIGNED)	--2
CONVERT(1.1, SIGNED)	--1
CONVERT(1.5, SIGNED)	--2
FLOOR(1.1)		--1
FLOOR(2.8)		--2

2. STRING관련 함수

-- CONCAT() 함수를 사용하여 문자열을 결합
SELECT CONCAT('Hello', ' ', 'World') AS concatenated_string;  -- 결과: 'Hello World'

-- LENGTH() 함수를 사용하여 문자열의 길이를 반환
SELECT LENGTH('MySQL') AS string_length;  -- 결과: 5

-- UPPER() 함수를 사용하여 문자열을 대문자로 변환
SELECT UPPER('mysql') AS uppercase_string;  -- 결과: 'MYSQL'

-- LOWER() 함수를 사용하여 문자열을 소문자로 변환
SELECT LOWER('MySQL') AS lowercase_string;  -- 결과: 'mysql'

-- LEFT() 함수를 사용하여 문자열의 왼쪽에서부터 지정된 수의 문자를 반환
SELECT LEFT('Database', 4) AS left_string;  -- 결과: 'Data'

-- RIGHT() 함수를 사용하여 문자열의 오른쪽에서부터 지정된 수의 문자를 반환
SELECT RIGHT('Function', 3) AS right_string;  -- 결과: 'ion'

-- SUBSTRING() 함수를 사용하여 문자열에서 하위 문자열을 추출
SELECT SUBSTRING('Hello, World', 7, 5) AS substring_result;  -- 결과: 'World'

-- REPLACE() 함수를 사용하여 문자열에서 특정 문자열을 대체
SELECT REPLACE('Hello, MySQL', 'MySQL', 'World') AS replaced_string;  -- 결과: 'Hello, World'

-- LIKE 연산자를 사용하여 패턴 매칭
SELECT column_name FROM table_name WHERE column_name LIKE 'pattern%';

-- CONCAT_WS() 함수를 사용하여 문자열을 구분자로 결합
SELECT CONCAT_WS(', ', 'John', 'Doe') AS concatenated_string;  -- 결과: 'John, Doe'

3.소수점 반올림

SELECT ROUND(123.4567, 0) AS rounded_integer;
-- 결과: 123 (정수 부분만 남김)

SELECT ROUND(987.6543, -2) AS rounded_hundreds;
-- 결과: 1000 (백의 자리에서 반올림)

4. DISTINCT 가 필요할지도...
당연히 고유값을 가지는 줄 알았지만 아니였다...

 

5. 홀수, 짝수 판별

MOD(숫자1, 숫자2)

 

  • 숫자1: 나눠지는 숫자 (피제수)
  • 숫자2: 나누는 숫자 (제수)
  • 결과: 숫자1을 숫자2로 나눈 나머지
SELECT column_name,
       CASE WHEN MOD(column_name, 2) = 0 THEN '짝수'
            ELSE '홀수'
       END AS 짝홀수
FROM your_table;