728x90
나이 계산은 은근히 스크립트로 계산 하려면 코드를 많이 써야 한다. sql 쿼리문에서 나이 계산이 되어야 하는 경우도 종종 있어서 쿼리문에서 바로 뽑아서 쓸수 있는 코드 예시를 공유해본다.
회원코드값으로 user 테이블에서 생년월일 필드로 만나이를 계산하는 공식이다.
mysql 쿼리문에서 나이 계산하기
SELECT
DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(CONCAT(birth_year, '-', birth_month, '-', birth_day), '%Y') -
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(CONCAT(birth_year, '-', birth_month, '-', birth_day), '00-%m-%d')) AS age
FROM
user
WHERE
user_seq = #{user_seq};
리액트에서 나이 계산 하기
import React, { useState } from 'react';
const AgeCalculator = () => {
const [birthDate, setBirthDate] = useState('');
const [age, setAge] = useState(null);
const calculateAge = (dateString) => {
const birthDate = new Date(dateString); // YYYY-MM-DD 형태의 문자열을 Date 객체로 변환
const today = new Date();
// 만 나이 계산
let calculatedAge = today.getFullYear() - birthDate.getFullYear();
if (today < new Date(today.getFullYear(), birthDate.getMonth(), birthDate.getDate())) {
calculatedAge--;
}
return calculatedAge;
};
const handleSubmit = (e) => {
e.preventDefault();
setAge(calculateAge(birthDate));
};
return (
<div>
<form onSubmit={handleSubmit}>
<input
type="date" // HTML5의 date 입력 형식 사용
value={birthDate}
onChange={(e) => setBirthDate(e.target.value)}
/>
<button type="submit">나이 계산하기</button>
</form>
{age !== null && <p>만 나이: {age}세</p>}
</div>
);
};
export default AgeCalculator;
728x90
'MYSQL' 카테고리의 다른 글
insert 후 자동 증가 키 값 가져오기 (0) | 2024.11.19 |
---|---|
sql 그룹별 평균 구하기 (0) | 2024.11.18 |
쿠폰일자 사용여부 체크 쿼리문 true false 로 받아 오기 (0) | 2024.11.08 |
mysql 날짜 비교 현재 일자 보다 작은 데이터 select query (0) | 2023.12.20 |
sql 쿼리문예제 null 체크 와 case 문 동시에 마이너스일 경우 0 으로 (0) | 2023.04.25 |