programing

mysql에서 문자열을 플로트로 변환하려면 어떻게 해야 하나요?

randomtip 2022. 9. 6. 22:09
반응형

mysql에서 문자열을 플로트로 변환하려면 어떻게 해야 하나요?

문자열로 저장된 위도 및 경도 값이 포함된 테이블이 있습니다.VARCHAR변환하고 싶다)FLOAT (10,6).

그러나 이 방법을 사용하는 간단한 방법은 없는 것 같습니다.CAST()또는CONVERT().

이 열을 쉽게 변환하려면 어떻게 해야 합니까?이것은 일회성 변환입니다.

알고보니 난 그냥 실종 상태였어DECIMAL에서CAST()설명:

DECIMAL[(M[,D])]

값을 DECIMAL 데이터 유형으로 변환합니다.옵션 인수 M 및 D는 소수점 값의 정밀도(M은 총 자릿수)와 척도(D는 소수점 이후의 자릿수)를 지정합니다.기본 정밀도는 소수점 뒤의 두 자리입니다.

따라서 다음 쿼리가 작동했습니다.

UPDATE table SET
latitude = CAST(old_latitude AS DECIMAL(10,6)),
longitude = CAST(old_longitude AS DECIMAL(10,6));
mysql> SELECT CAST(4 AS DECIMAL(4,3));
+-------------------------+
| CAST(4 AS DECIMAL(4,3)) |
+-------------------------+
|                   4.000 |
+-------------------------+
1 row in set (0.00 sec)

mysql> SELECT CAST('4.5s' AS DECIMAL(4,3));
+------------------------------+
| CAST('4.5s' AS DECIMAL(4,3)) |
+------------------------------+
|                        4.500 |
+------------------------------+
1 row in set (0.00 sec)

mysql> SELECT CAST('a4.5s' AS DECIMAL(4,3));
+-------------------------------+
| CAST('a4.5s' AS DECIMAL(4,3)) |
+-------------------------------+
|                         0.000 |
+-------------------------------+
1 row in set, 1 warning (0.00 sec)

이렇게 하면 길이 또는 숫자를 캐스팅하거나 지정할 필요 없이 숫자 값으로 변환됩니다.

STRING_COL+0.0

컬럼이 다음과 같은 경우INT에서는, 를 종료할 수 있습니다..0소수점을 피하려면:

STRING_COL+0

언급URL : https://stackoverflow.com/questions/7368163/how-can-i-convert-a-string-to-a-float-in-mysql

반응형