>  기사  >  데이터 베이스  >  MySQL 4 데이터베이스 열에서 쉼표로 구분된 십진수 값을 어떻게 합산할 수 있나요?

MySQL 4 데이터베이스 열에서 쉼표로 구분된 십진수 값을 어떻게 합산할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-27 14:46:29493검색

How can I sum comma-separated decimal values in a MySQL 4 database column?

MySQL 4의 쉼표로 구분된 열 딜레마 요약

MySQL 4 데이터베이스에서 데이터 전송을 시도하는 동안 문제가 발생할 수 있습니다. 특히 열 중 하나에 단일 숫자 대신 쉼표로 구분된 십진수 값 목록이 포함된 경우에는 더욱 그렇습니다. SQL 환경 내에서 이러한 값의 원하는 합계를 달성하는 것은 특정 기능의 부족으로 인해 어려움을 겪습니다.

이러한 경우 저장 프로시저를 사용하는 것이 필수적입니다. 이는 MySQL 5.0의 출현과 함께 도입되었기 때문입니다. 그러나 MySQL 4는 주류 Linux 배포판에서 현재 지원이나 가용성이 없는 오래된 버전이므로 업그레이드하는 것이 좋습니다.

당면한 특정 문제를 해결하기 위해 MySQL 5.0 이상에 맞는 솔루션이 제공됩니다.

DELIMITER //
CREATE FUNCTION SUM_OF_LIST(s TEXT)
  RETURNS DOUBLE
  DETERMINISTIC
  NO SQL
BEGIN
  DECLARE res DOUBLE DEFAULT 0;
  WHILE INSTR(s, ",") > 0 DO
    SET res = res + SUBSTRING_INDEX(s, ",", 1);
    SET s = MID(s, INSTR(s, ",") + 1);
  END WHILE;
  RETURN res + s;
END //
DELIMITER ;

이 기능은 다음 예를 통해 활용할 수 있습니다.

SELECT SUM_OF_LIST("5,2.1") AS Result;

결과 출력은 다음과 같습니다.

+--------+
| Result |
+--------+
|    7.1 |
+--------+

위 내용은 MySQL 4 데이터베이스 열에서 쉼표로 구분된 십진수 값을 어떻게 합산할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.