Stata odbc查询列名称中的空格

时间:2016-02-01 20:24:28

标签: stata

我试图通过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 \”)不起作用。

有什么建议吗?

谢谢!

1 个答案:

答案 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");