2016-10-05 2 views
0

Ich versuche, eine SQL Server-Tabelle in R zu importieren. Die erste Spalte dieser Tabelle ist eine 17-stellige ID.Importieren Sie eine große Ganzzahl aus SQL Server in R

library(ODBC) 
channel <- odbcConnect("my_db", uid="my_id", pwd="my_pw") 
options(digits=22) 

sqlQuery(channel, "select ID from dbo.my_table where ID = 10000000047974745") 

Ausgang:

    ID 
1 10000000047974744 

Wie Sie die letzte Ziffer 4 sehen kann, anstatt 5. Ich habe versucht cast(ID as char) im select zu verwenden, aber das Ergebnis ist das gleiche. Was könnte ich tuen?

+3

Haben Sie versucht, 'as.is = TRUE' als Argument für' sqlQuery() 'zu verwenden? – joran

Antwort

0

Wie Joran sagte, mit as.is = TRUE als Argument sqlQuery() löst das Problem.

+0

FYI, für andere Leute - in Oracle brauchte ich 'TO_CHAR (ID)' zusätzlich zu Jorans Vorschlag des 'as.is = TRUE'. Es war jedoch nicht notwendig, die Optionen (Ziffern = n) zu spezifizieren. – Jordan

Verwandte Themen