我试图通过ODBC在stata中执行sql查询。一些列名称中包含空格。
Stata希望用下划线替换空格,这不起作用。如果我尝试转义空格,请转义引用列名,但这些都不起作用。
在下面的示例中,列名称为“程序类型代码”。
odbc load, exec("SELECT ReportEffectiveDate, Program_Type_Code, CWIN FROM
McDreamIndvReport WHERE ReportEffectiveDate > '20140701' and
ReportEffectiveDate<'20150801'") dsn("HSAReports")
其他stata odbc命令似乎允许引用带有空格的表或列,但exec需要引用的字符串,并且转义引号(\“Program Type Code \”)不起作用。
有什么建议吗?
谢谢!
答案 0 :(得分:1)
空间在Stata变量名中是非法的,因此当您从ODBC链接读取数据时,这些将被替换为下划线,但是如果ODBC源表在列名中有空格,则可以读取数据,您可以添加带有空格的名称周围的方括号([
和]
)。
在您的示例中,那将是:
#delimit ;
odbc load, exec("SELECT ReportEffectiveDate, [Program Type Code], CWIN
FROM McDreamIndvReport
WHERE ReportEffectiveDate > '20140701' and ReportEffectiveDate<'20150801'")
dsn("HSAReports");