列名中带有空格的 Stata odbc 查询
Stata odbc query with spaces in the column names
我正在尝试通过 ODBC 从 stata 中执行 sql 查询。一些列名称中有空格。
Stata 想用下划线替换空格,这是行不通的。如果我尝试转义空格,转义引用列名,none 其中似乎有效。
在下面的示例中,列名称是 "Program Type Code"。
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\") 不起作用。
有什么建议吗?
谢谢!
Stata 变量名中的空格是非法的,因此当您从 ODBC link 中读取数据时,空格将被替换为下划线,但是如果 ODBC 源 table 则读取数据列名称中有空格,您可以在带空格的名称周围添加方括号([
和 ]
)。
在您的示例中,这将是:
#delimit ;
odbc load, exec("SELECT ReportEffectiveDate, [Program Type Code], CWIN
FROM McDreamIndvReport
WHERE ReportEffectiveDate > '20140701' and ReportEffectiveDate<'20150801'")
dsn("HSAReports");
我正在尝试通过 ODBC 从 stata 中执行 sql 查询。一些列名称中有空格。
Stata 想用下划线替换空格,这是行不通的。如果我尝试转义空格,转义引用列名,none 其中似乎有效。
在下面的示例中,列名称是 "Program Type Code"。
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\") 不起作用。
有什么建议吗?
谢谢!
Stata 变量名中的空格是非法的,因此当您从 ODBC link 中读取数据时,空格将被替换为下划线,但是如果 ODBC 源 table 则读取数据列名称中有空格,您可以在带空格的名称周围添加方括号([
和 ]
)。
在您的示例中,这将是:
#delimit ;
odbc load, exec("SELECT ReportEffectiveDate, [Program Type Code], CWIN
FROM McDreamIndvReport
WHERE ReportEffectiveDate > '20140701' and ReportEffectiveDate<'20150801'")
dsn("HSAReports");