R - dbWriteTable 在列名中使用大写字母
R - dbWriteTable makes capital letters in column names
我正在尝试创建一个 table(在 Snowflake 数据库中),其列名与我在 R data.frame 对象中保留的列名完全相同:
'data.frame': 1 obs. of 26 variables:
$ Ship_To : chr "0002061948"
$ Del_Coll_Indicator : chr "D"
$ Currency : chr "GBP"
$ Total_Volume : num 0
$ Total_Quantity : num 0
...
table创建没有问题:
dbWriteTable(con = my_db$con, name = "test5", value = df)
但数据库中的所有列名都转换为大写:
'data.frame': 1 obs. of 26 variables:
$ SHIP_TO : chr "0002061948"
$ DEL_COLL_INDICATOR : chr "D"
$ CURRENCY : chr "GBP"
...
有什么方法可以保留 R 数据框中的 table 个原始名称吗?
如 Snowflake 的 SQL reference docs 所述,当标识符(例如列名)在创建时未被引用时,Snowflake 会将它们大写,并将它们视为大小写-不敏感。任何 引用的标识符 将保持原样并被视为区分大小写的标识符。
通过 dbQuoteIdentifier(my_db$con, each_column_name)
DBI function 更改数据框列名称 (colnames(df)
) 以使用带引号的标识符格式。这应该有助于保护外壳。
我正在尝试创建一个 table(在 Snowflake 数据库中),其列名与我在 R data.frame 对象中保留的列名完全相同:
'data.frame': 1 obs. of 26 variables:
$ Ship_To : chr "0002061948"
$ Del_Coll_Indicator : chr "D"
$ Currency : chr "GBP"
$ Total_Volume : num 0
$ Total_Quantity : num 0
...
table创建没有问题:
dbWriteTable(con = my_db$con, name = "test5", value = df)
但数据库中的所有列名都转换为大写:
'data.frame': 1 obs. of 26 variables:
$ SHIP_TO : chr "0002061948"
$ DEL_COLL_INDICATOR : chr "D"
$ CURRENCY : chr "GBP"
...
有什么方法可以保留 R 数据框中的 table 个原始名称吗?
如 Snowflake 的 SQL reference docs 所述,当标识符(例如列名)在创建时未被引用时,Snowflake 会将它们大写,并将它们视为大小写-不敏感。任何 引用的标识符 将保持原样并被视为区分大小写的标识符。
通过 dbQuoteIdentifier(my_db$con, each_column_name)
DBI function 更改数据框列名称 (colnames(df)
) 以使用带引号的标识符格式。这应该有助于保护外壳。