Using the RJDBC package and the latest Snowflake JDBC driver 3.11.1.JAR, R seems to display incorrect values for an integer field where the length is 23 digits. I have found a work a round, to cast the field into a varchar and the correct number is displayed (see code below)
products = dbGetQuery(conn,"SELECT cast(product_key as varchar),
product_key
FROM adw_prod.inc_pl.product_dim
LIMIT 100")
head(products,5)
CAST(PRODUCT_KEY AS VARCHAR) PRODUCT_KEY
1 10505225603642020111205 10505225603642019545868
2 10505225604135620160607 10505225604135619920002
3 10505225604425820171020 10505225604425819619208
4 10505225604841620140814 10505225604841619849666
5 10505225604970320110816 10505225604970319970464
The CAST(PRODUCT_KEY AS VARCHAR) displays the correct number, has anyone come across this issue before?