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

Ben*_*Ben 5 sql r rodbc

我有一个名为"Customers"的SQL表.在它是CustomerNumber字段,其值类似于"0001234567",即它们仅由数字组成,但有些包括前导0.所以,当我尝试运行类似的东西时

sqlFetch(channel=myconn, sqtable="Customers", stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)

它返回我的customers表,其中CustomerNumber字段是数字(而不是字符),因此我丢失所有那些前导0.

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

jor*_*ran 5

您可以控制列的更充分利用的各类as.is参数,这是在详细信息部分记录?sqlFetch,以及在对所链接的文件?sqlQuery?sqlGetResults

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

(请注意,type.convert 即使 C API 正确返回 char 或 varchar作为数据库中列的数据类型,RODBC 也会破坏存储在数据库中的列。维护者尚未回复我关于此问题的 4-5 封电子邮件中的任何一封在过去的一年里,从那以后,我只使用了 RODBC 的分叉版本,并进行了所需的一行修改。)