sql - 从 SQL 数据库读取时如何指定字段数据类型

标签 sql r rodbc

我有一个名为“客户”的 SQL 表。其中是一个 CustomerNumber 字段,其值类似于“0001234567”,即它们仅由数字组成,但有些包括前导 0。所以,当我尝试运行类似

sqlFetch(channel=myconn, sqtable="Customers", stringsAsFactors=FALSE)

它返回我的客户表,其中 CustomerNumber 字段是数字(而不是字符),因此我丢失了所有前导 0。

有没有一种方法可以指定列的字段类型或不会截断所有前导 0 的替代解决方案?

最佳答案

您可以使用 as.is 更全面地控制列的类型参数,记录在 ?sqlFetch 的详细信息部分以及 ?sqlQuery 的链接文档和 ?sqlGetResults .

基本上,它是一个逻辑向量或一个数字或字符索引向量,指定哪些列保持不变。该载体将根据需要回收。

(请注意,即使 C API 正确返回 char 或 varchar 作为数据库中列的数据类型,RODBC 也会使用 type.convert 破坏存储在数据库中的列。维护者没有回复我的 4-5 封电子邮件中的任何一封这个问题在过去的一年里,从那以后我只是简单地使用了 RODBC 的 fork 版本和所需的 one line modification。)

关于sql - 从 SQL 数据库读取时如何指定字段数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34229590/

相关文章:

mysql - Magento 报告客户愿望 list

sql - 如何创建 SQL 过程来计算总会费

sql - 根据可变长度字段将列分成两部分

r - 如何保存 Shiny 图的 png 图像,使其与屏幕上的尺寸相匹配?

sql-server - RODBC 错误 : 'Calloc' could not allocate memory

mysql - 重命名mysql数据库中所有表的列

R:从列表中的数据帧创建特定单元格的向量和某些列的平均值

r - 应该很容易 : distance along a line in R?

重构在 SQL 数据库中存储为 RAW 的 PNG 文件

r - 在 OS X Mavericks 上安装 RODBC/ROracle 包