[MySql]문자열 중 숫자만 콤마(,) 추가하기
음수, 실수 를 모두 고려하여, 실수부는 그대로 표현하고, 천 단위마다 콤마를 추가한다.
문자열이 포함된 경우는 그대로 표현한다.
-- 5.7 이하 버전에서도 사용가능 SELECT str, CASE WHEN str REGEXP '^-?[0-9]+(\\.[0-9]+)?$' THEN concat(format(str, 0), substring(str, instr(str, '.'))) ELSE str END as with_comma_str FROM ( SELECT 'a2' AS str UNION ALL SELECT '2a' AS str UNION ALL SELECT '123.4.123' AS str UNION ALL SELECT '1234.' AS str UNION ALL SELECT '1' AS str UNION ALL SELECT '1000' AS str UNION ALL SELECT '0.1234' AS str UNION ALL SELECT '1234.56' AS str UNION ALL SELECT '-1234.00' AS str ) a; -- 출력결과 str |with_comma_str| ---------+--------------+ a2 |a2 | 2a |2a | 123.4.123|123.4.123 | 1234. |1234. | 1 |1 | 1000 |1,000 | 0.1234 |0.1234 | 1234.56 |1,235.56 | -1234.00 |-1,234.00 |
최신 댓글