在 SSMS 中导入平面文件时的小数分隔符
Posted
技术标签:
【中文标题】在 SSMS 中导入平面文件时的小数分隔符【英文标题】:Decimal separator while importing a flat file in SSMS 【发布时间】:2022-01-17 15:56:15 【问题描述】:将平面文件导入 SSMS 时遇到问题。当我从特定系统下载 CSV 文件时,小数点分隔符始终为“.”。我有一个逗号的区域设置,我一直使用逗号。但是在将这些 CSV 文件导入 SSMS 时,由于 SSMS 无法将值识别为数字(浮点数、小数等),我收到类型不匹配的错误
我尝试切换区域 Windows 设置并用逗号替换 dot,这解决了问题并导入了文件,但问题是,我能否以某种方式更改 SSMS 中的设置,以便我能够将逗号保留为默认但导入带小数点分隔符的 CSV 文件?
我只需要使用 SSMS,我无法安装 SSIS 包。
非常感谢您的任何反馈。
【问题讨论】:
旁注,您不导入 到 SSMS,而是导入 到 SQL Server。 导入如何? SSMS 至少有两种方法可以做到这一点,并且都可以处理区域设置和不同的分隔符。例如,Import Data
任务会创建一个可以修改的 SSIS 包。
@PanagiotisKanavos 非常感谢您的反馈。我是这个领域的初学者,所以请原谅我的术语。我在 SSMS 中使用导入平面文件任务。我习惯使用 Excel 进行所有数据分析,当将 csv 导入 Excel 时,可以选择在导入结束时选择小数分隔符,因此结果中的所有点都变为逗号,因此类型被识别为数字,我是想知道在 SSMS 的情况下是否有类似的可能。我可以在“导入数据”选项中找到它吗?
试试这个:在 SSMS 中选择“导入数据”选项,然后在“数据源”中选择“平面文件源”。选择要加载的文件,然后更改“区域设置”选项(位于文件名下方)。
@Alex 非常感谢 Alex,这很有效,我成功地用逗号而不是小数点导入了文件。真的很有帮助,非常感谢!
【参考方案1】:
在 SSMS 中选择“导入数据”选项,然后在“数据源”中选择“平面文件源”。选择要加载的文件,然后更改“区域设置”选项(位于文件名下方)。
区域设置控制数据格式的显示和解释方式,例如货币符号和基数(小数分隔符)字符。
【讨论】:
以上是关于在 SSMS 中导入平面文件时的小数分隔符的主要内容,如果未能解决你的问题,请参考以下文章
在 PostgreSQL 中导入带分隔符列表的 CSV 数据
R语言使用read_table函数读取文本文件或者文本数据生成dataframe数据集从分隔文本文件中导入数据(Importing data from a delimited text file)