Вставка не английских десятичных точек в mysql

Как вы можете заставить mysql понимать неанглийские десятичные точки в полях integer / float?

setLocale(LC_ALL, 'da_DK.ISO-8859-1'); 

например:

 0,25 will be inserted as 0 0.25 will be inserted as 0.25 

Related of "Вставка не английских десятичных точек в mysql"

Одной из причин, по которым вы не можете сделать этого, является то, что запятая используется для разделения значений полей в операторах INSERT .

INSERT INTO a(b,c) VALUES (3,4,5) будет неоднозначной.

Должно ли это приводить к b=3.4 , c=5 или b=3 , c=4.5 ?

На номера не влияют языковые настройки (то же самое в SQL Server тоже).

Таким образом, вы должны отправить как "0.25"

Самый простой способ, по-моему, был бы использовать оболочку для вашего объекта mysql, которая установит локаль в en_US.utf8 перед вашим запросом и после того, как запрос вернет ее обратно в da_DK.ISO-8859-1.

Похоже, это делает противоположное тому, что вы ищете.

Возможно, вы захотите попробовать что-то вроде REPLACE ('3,1415926', ',', '.').