C# 为什么这个SQL会告诉我“在预期的位置找不到FROM关键字”?
此sql代码:C# 为什么这个SQL会告诉我“在预期的位置找不到FROM关键字”?,c#,sql,oracle,toad,C#,Sql,Oracle,Toad,此sql代码: SELECT QHR, DECODE(DUCKBILLID1,NULL,' ',DUCKBILLID1) "DB1", DECODE(DUCKBILLID2,NULL,' ',DUCKBILLID2) "DB2", DECODE(DUCKBILLID3,NULL,' ',DUCKBILLID3) "DB3" FROM PLATYPUSSCHEDULE WHERE PLATYPUSID = :ABCID AND DOW = :DOW …失败,未在预期位置找到FROM关键
SELECT QHR,
DECODE(DUCKBILLID1,NULL,' ',DUCKBILLID1) "DB1",
DECODE(DUCKBILLID2,NULL,' ',DUCKBILLID2) "DB2",
DECODE(DUCKBILLID3,NULL,' ',DUCKBILLID3) "DB3"
FROM PLATYPUSSCHEDULE
WHERE PLATYPUSID = :ABCID AND DOW = :DOW
…失败,未在预期位置找到FROM关键字
同样的事情,除了DBN周围的引号是c代码中的单引号和双引号,如上所示,在TOAD中,它在TOAD中工作得很好。在c中,我希望看到类似这样的东西
String qry =
@"SELECT QHR,
DECODE(DUCKBILLID1,NULL,' ',DUCKBILLID1) ""DB1"",
DECODE(DUCKBILLID2,NULL,' ',DUCKBILLID2) ""DB2"",
DECODE(DUCKBILLID3,NULL,' ',DUCKBILLID3) ""DB3""
FROM PLATYPUSSCHEDULE
WHERE PLATYPUSID = :ABCID AND DOW = :DOW";
或
我当然不希望看到单引号和双引号互换
String qry =
@"SELECT QHR,
DECODE(DUCKBILLID1,NULL,' ',DUCKBILLID1) ""DB1"",
DECODE(DUCKBILLID2,NULL,' ',DUCKBILLID2) ""DB2"",
DECODE(DUCKBILLID3,NULL,' ',DUCKBILLID3) ""DB3""
FROM PLATYPUSSCHEDULE
WHERE PLATYPUSID = :ABCID AND DOW = :DOW";
或
我当然不希望看到单引号和双引号互换。您可能需要转义引号\您可能需要转义引号\您从哪里得到错误?是用C还是用TOAD?看Sharp,是的,我希望我可以写C,然后用itI完成我只是试着在Oracle中运行select Foo'f'表,我得到了相同的错误消息。你需要使用双引号,而不是单引号;问题是C,你不需要在列别名周围加引号。把它们放在一边,你从哪里得到的错误?是用C还是用TOAD?看Sharp,是的,我希望我可以写C,然后用itI完成我只是试着在Oracle中运行select Foo'f'表,我得到了相同的错误消息。你需要使用双引号,而不是单引号;问题是C,你不需要在列别名周围加引号。只需将它们排除在外。在@之后,您需要将报价加倍。两个示例都不会编译。您需要在@之后将引号加倍。这两个示例都无法编译。有时使用s而不是s会使编译更容易。有时使用s而不是s会使编译更容易。