Insert non-English decimal points in mysql

后端 未结 4 1927
孤独总比滥情好
孤独总比滥情好 2020-12-07 02:33

How can you make mysql understand non-English decimal points in integer/float fields?

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

eg:

相关标签:
4条回答
  • 2020-12-07 02:39

    One of the reasons you can't do that is that the comma , is used for separating field-values in INSERT statements.

    INSERT INTO a(b,c) VALUES (3,4,5) would be ambiguous.

    Should it result into b=3.4 , c=5 or b=3 , c=4.5 ?

    0 讨论(0)
  • 2020-12-07 02:44

    The easiest way I would think would be to use a wrapper for your mysql object that will set the locale to en_US.utf8 before your query and after the query puts it back to da_DK.ISO-8859-1.

    It looks like this does the opposite of what you're looking for.

    0 讨论(0)
  • 2020-12-07 02:47

    You might want to try something like REPLACE('3,1415926', ',' , '.' )

    0 讨论(0)
  • 2020-12-07 03:01

    Numbers aren't affected by locale settings (same in SQL Server too).

    So you'd have to send as "0.25"

    0 讨论(0)
提交回复
热议问题