使用r中的sqlsave保留列标题中的空格

时间:2015-02-10 21:04:55

标签: sql-server r

从R?

向Microsoft SQL Server写入数据时,如何在列标题中保存空格?

注意,我希望列名中包含空格,因为这是一个关联表,其中包含针对关键字/短语的关键字/短语。我可以将ID作为列名,但最终用户最终会希望看到列名实际上是。 “go skateboard”和“goskateboard”之间存在差异。

以下是一些澄清问题的代码。

# Load RODBC package
library(RODBC)

# Connect to database (write database name in quoted area)
con <- odbcConnect("")

# Generate random matrix
mat_test <- matrix(rnorm(12), 4, 3)

# Label column headers
colnames(mat_test) <- c("A","A B", "C")

# Change matrix to dataframe
df_test <- as.data.frame(mat_test)

# View data frame.  Note how there is a space in the column header labled "A B"
View(df_test)

# Write data frame to database.  Why is the space gone?  How do I preserve the space?
sqlSave(con, df_test, tablename = "12_Test_12", rownames = FALSE, colnames = TRUE)

1 个答案:

答案 0 :(得分:0)

尝试将列名更改为&#34; [A B]&#34;。 SQL服务器有时不喜欢列名中的空格,除非它们用括号括起来。 编辑:我或许还应该提到大多数人建议不要在列名中使用空格,因为它很容易混淆并且通常需要更多的工作,而常见的解决方案是使用下划线:&#34; A_B&#34;