操作符¶
下面的列表给出了逻辑操作和等于操作在C和SQL下的不同表示。这些C操作符不能在SQL中使用。
| SQL操作符 | C操作符 |
|---|---|
| NOT | ! |
| AND | && |
| OR | || |
| = | == |
除此之外,下面的操作符也不允许在SQL语句中使用(下表中的操作符之间的逗号是分隔符):
| 类型 | C操作符 |
|---|---|
| 地址符 | & |
| 位操作 | &, |, ^, ~ |
| 复合运算 | +=, -= , *= 等 |
| 条件运算 | ?: |
| 递减 | -- |
| 递增 | ++ |
| 模余 | % |
| 移位 | >>, << |
条件编译
条件编译指令可以根据不同的条件使程序执行不同的代码。比如在LINUX平台下,我们可能需要包含代码段A,而在WINDOWS下,可能需要包含代码段B。利用条件编译指令,可以对于不同的平台有更好的兼容性。
下面给出嵌入式SQL中的条件预编译指令:
EXEC SQL DEFINE symbol;
EXEC SQL IFDEF symbol;
EXEC SQL IFNDEF symbol;
EXEC SQL ELIF symbol;
EXEC SQL ELSE ;
EXEC SQL ENDIF;
利用上述的条件预编译指令可以在预编译时决定编译哪一部分代码,从而控制预编译的流程。它们的含义和 C 语言中相应形式的预编译指令含义类似。两者之间的意义关系对比大致如下所示:
EXEC SQL DEFINE symbol; #define symbol
EXEC SQL IFDEF symbol; #ifdef symbol
EXEC SQL IFNDEF symbol; #ifndef symbol
EXEC SQL ELIF symbol; #elif symbol
EXEC SQL ELSE ; #else
EXEC SQL ENDIF; #endif
EXEC SQL IFDEF | EXEC SQL IFNDEF … [EXEC SQL ELIF … ] [EXEC SQL ELSE …] EXEC SQL ENDIF 可以嵌套使用。