목록MYSQL (3)
Dende
LPAD(), RPAD() 함수 이 두 함수는 문자열의 왼쪽 또는 오른쪽을 특정 문자열로 채워주는 함수입니다. LPAD는 LEFT(왼쪽) + PADDING(채우기)의 줄임말, RPAD는 RIGHT(오른쪽) + PADDING(채우기)의 줄임말인데요. 예를 들어 LPAD(age, 10, ’0’)는 age 컬럼의 값을, 왼쪽에 문자 0을 붙여서 총 10자리로 만드는 함수입니다. 보통 어떤 숫자의 자릿수를 맞출 때 자주 사용하는 함수입니다. 아래 그림을 보면 무슨 뜻인지 바로 이해할 수 있습니다. 그런데 age 컬럼의 데이터 타입은 숫자를 나타내는 INT 형이었죠? 어떻게 숫자를 문자열 함수의 인자로 넣었는데 잘 작동한 걸까요? 비록 숫자이더라도 문자열 함수 안에 인자로 넣어주면 그 값이 자동으로 문자열로 형 ..
▶사용법 CASE WHEN 조건 THEN '반환 값' WHEN 조건 THEN '반환 값' ELSE 'WHEN 조건에 해당 안되는 경우 반환 값' END - WHEN과 THEN은 한쌍이어야 합니다. - WHEN과 THEN은 다수가 존재할 수 있습니다. - ELSE가 존재하면 모든 조건에 해당하지 않는 경우에 반환 값을 설정할 수 있습니다. - ELSE가 존재하지 않고, 조건에 맞지 않아서 반환 값이 없으면 NULL를 반환합니다.
CAST(type) : 데이터 타입 변환 signed는 양수와 음수를 포함한 모든 정수를 나타낼 수 있는 데이터 타입입니다. 이 SQL 문을 실행해보면, 이렇게 data 컬럼의 타입이 INT였을 때와 같은 결과가 나옵니다. 방금 말한대로 data 컬럼의 값들이 일시적으로 signed 타입으로 변환되어 해석되었기 때문입니다. 만약 어떤 컬럼의 숫자값들이 TEXT 같은 문자열 타입으로 저장돼있지만, 정렬 기준으로 쓸 때는 숫자형으로 사용하고 싶다면 CAST() 함수를 쓰면 되겠죠? 참고로 만약 문자열 타입으로 저장된 숫자값에 소수점이 포함되어 있다면 signed 대신 decimal(소수점이 있는 수를 나타내는 타입)을 적어주고 사용하면 됩니다. 이건 여러분이 직접 실험해보시기를 추천합니다.