将SQL查询迁移到MS Access

时间:2019-04-17 16:13:27

标签: sql sql-server ms-access

我用SQL查询的时间很长。我想将查询迁移到MS Access中。当我直接尝试在MS Access SQL视图中运行SQL查询时,它显示格式错误。有没有一种方法可以将SQL查询转换为MS Access?

谢谢。

2 个答案:

答案 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