我用SQL查询的时间很长。我想将查询迁移到MS Access中。当我直接尝试在MS Access SQL视图中运行SQL查询时,它显示格式错误。有没有一种方法可以将SQL查询转换为MS Access?
谢谢。
答案 0 :(得分:1)
看看这个网址strange huh?
由于Access SQL(JET SQL)和T-SQL(用于Microsoft SQL Server)略有不同,我被最简单的选择查询所困扰。
例如。
T-SQL选择“值”所在的位置…..
SELECT * FROM dbo.episodes
WHERE spell_hrg like 'PB%'
在T-SQL中,多字符通配符为%,而在Access中则为*。访问时还会用双语音标记“ string”(而不是单引号“ string”)来标识字符串
访问SQL选择“值”所在的位置…..
SELECT * FROM dbo.episodes
WHERE spell_hrg like “PB*”
字符串函数 匹配多个字符 T-SQL:
WHERE Value like ‘PB%’
访问SQL:
WHERE Value like “PB*”
匹配单个字符 T-SQL:
WHERE Value like ‘PB0_Z’
访问SQL:
WHERE Value like “PB0?Z”
修剪空白 T-SQL:
RTRIM(LTRIM(Value)
访问SQL:
TRIM(Value)
NULL 检查NULL T-SQL:
WHERE Value IS NULL
访问SQL:
WHERE Value IS NULL -- or -- WHERE ISNULL(Value) (note the difference from T-SQL's ISNULL)
转换NULL值 T-SQL:
COALESCE(Value, ValueToReturnIfNull) -- or -- ISNULL(Value, ValueToReturnIfNull)
访问SQL:
NZ(Value, ValueToReturnIfNull)
条件表达式 T-SQL:
WHEN Condition THEN ReturnIfTrue ELSE ReturnIfFalse END
访问SQL:
IIF(Condition, ReturnIfTrue, ReturnIfValue)
答案 1 :(得分:0)
如果在TSQL中确实有多个连接的长查询,请为Access SQL中括号问题做好准备。您的所有连接都需要根据Access SQL语法放在方括号中。该链接对此进行了说明:Convert TSQL to MS-Access SQL