我将C#系统安装到具有Win XP的计算机中,十进制分隔符的数字格式是逗号而不是小数点,但是,这会干扰MySQL更新,因为当我将信息加载到MySQL系统时,格式为"0,11“,系统将逗号视为MySQL查询的一部分。这是一个问题,因为每次我想更新寄存器时,我都必须手动更改小数点的逗号,否则就会引发异常。
是否有办法为特定列更改我的数据库中小数点的所有逗号?尽管我已经更改了区域配置,但数据库将逗号保留在以前注册的项中。
我的桌子结构:
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;我需要更新的列是具有双重类型的列。谢谢。
发布于 2014-01-17 16:22:16
SELECT REPLACE(CAST(your_double AS CHAR), ',', '.')这将选择它们,将逗号替换为点,您可以将其用于更新查询。
更新版本将是
UPDATE your_table
SET your_double=CAST(REPLACE(CAST(your_double AS CHAR), ',', '.') AS DOUBLE)https://stackoverflow.com/questions/21190389
复制相似问题