MySQL逗号到小数点查询
我用Win XP将我的C#系统安装到一台计算机上,十进制分隔符的数字格式是逗号而不是小数点,但这会干扰MySQL更新,因为当我将信息加载到我的C#系统中时,格式是“0,11”,系统将逗号视为MySQL查询的一部分。这是一个问题,因为每次我想要更新寄存器时,我都必须手动更改小数点的逗号,否则它会引发异常 有没有办法更改数据库中特定列的小数点的所有逗号?即使我已经更改了区域配置,数据库仍在以前注册的项目中保留逗号 我的表格结构:MySQL逗号到小数点查询,mysql,Mysql,我用Win XP将我的C#系统安装到一台计算机上,十进制分隔符的数字格式是逗号而不是小数点,但这会干扰MySQL更新,因为当我将信息加载到我的C#系统中时,格式是“0,11”,系统将逗号视为MySQL查询的一部分。这是一个问题,因为每次我想要更新寄存器时,我都必须手动更改小数点的逗号,否则它会引发异常 有没有办法更改数据库中特定列的小数点的所有逗号?即使我已经更改了区域配置,数据库仍在以前注册的项目中保留逗号 我的表格结构: CREATE TABLE `inventario` ( `id`
CREATE TABLE `inventario` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cla` varchar(100) NOT NULL,
`des` varchar(500) NOT NULL,
`lin` varchar(3) NOT NULL,
`cal` varchar(20) NOT NULL,
`uen` varchar(20) NOT NULL,
`can` double NOT NULL,
`fei` varchar(10) NOT NULL,
`fec` varchar(10) NOT NULL,
`obs` varchar(500) NOT NULL,
`ppu` double NOT NULL,
`pl1` double NOT NULL,
`pl2` double NOT NULL,
`pl3` double NOT NULL,
`pl4` double NOT NULL,
`prm` double NOT NULL,
`pr1` varchar(50) NOT NULL,
`pr2` varchar(50) NOT NULL,
`mnm` double NOT NULL,
`max` double NOT NULL,
`dias` int(10) NOT NULL DEFAULT '1',
`categoria` varchar(50) NOT NULL,
PRIMARY KEY (`id`,`cla`),
UNIQUE KEY `constr_cla` (`cla`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
我需要更新的列是双重类型的列。
谢谢
这将选择它们,将逗号替换为点,您可以将其用于更新查询
更新版本将是
UPDATE your_table
SET your_double=CAST(REPLACE(CAST(your_double AS CHAR), ',', '.') AS DOUBLE)
你试过用双引号括起这些值吗?总有一天,这些缩写会让你发疯的。而且,任何时候你都会听到x1、x2等的警报声!此查询的可能重复项仅替换select中的,它可以工作,但我更喜欢更改数据的内容,是否有此查询的更新版本?非常感谢。
UPDATE your_table
SET your_double=CAST(REPLACE(CAST(your_double AS CHAR), ',', '.') AS DOUBLE)