当我这样做
select cast('2,2' as float)
replace('2,2' , ',' , '.' ) is needed before casting
我有以下错误“将数据类型varchar转换为float时出错”。 因为有逗号。
当我这样做
select cast('2.2' as float)
结果为“ 2,2”,并带有逗号
由于我将excel文件与法语格式的数字集成在一起,所以我有点迷惑:用逗号“,”代替“。”。所以我有很多这样的错误
谢谢!
答案 0 :(得分:0)
SQL Server Documentation指出,用于将数字/浮点字符转换为数字格式所需的符号为科学符号
中显示数字为 6,720,000,000 => 6.72×109因此答案是:不论“区域设置”如何,输入格式始终固定为科学计数法
答案 1 :(得分:0)
这应该有效
declare @rate double
set @rate = 1.954
select FORMAT(@Rate, 'G', 'fr-fr') as formatted_decimal
1,9540
将打印
答案 2 :(得分:-1)
请使用这个,我认为这会帮助您
select cast(replace('2,2',',','.') as float)