【发布时间】:2015-07-16 18:37:45
【问题描述】:
我已经为 Microsoft SQL Server 编写了一个 SQL 查询,但现在我正在尝试将其转换为 SAS PROC SQL,但我遇到了问题。
数据:
╔══════════╦══════════╦════════╗
║ Name ║ Question ║ Answer ║
╠══════════╬══════════╬════════╣
║ Jane Doe ║ Q1 ║ Q1-Yes ║
║ John Doe ║ Q1 ║ Q1-No ║
╚══════════╩══════════╩════════╝
我想去掉“答案”栏中的“Q1-”并将其输出为“是”或“否”。
在SQL中,我使用的代码是:
SUBSTRING (AnswerTXT, CHARINDEX('-', AnswerTXT)+1, LEN (AnswerTXT)) as 'Answer'
在 SAS 中,我发现我需要在 PROC SQL 中更改它。这是我到目前为止得到的:
SELECT SUBSTR(AnswerTXT,
我尝试过 Index and Scan 并不断收到此类错误:
CLI describe error: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]'scan' is not a
recognized built-in function name.
谢谢!
【问题讨论】:
-
answer列中是否总是需要删除 3 个字符? -
为什么不直接使用 pass-through 并使用原生 T-SQL 编写 SQL?
-
@vkp:很遗憾没有,有时会超过 3 个字符。
-
那个错误听起来像它是一个直通查询,@GordonLinoff ...否则这很奇怪。
-
@GordonLinoff 我认为这个问题没有包含正确的语法。
标签: sql sql-server sas proc-sql