对比分析:SQLite3与MSSQLServer的微妙差异

发表时间: 2019-11-17 18:19

在以前经常使用mssql server做数据库,现在人工智能席卷全球。今年改用sqlite3做数据库,虽然都是关系型数据库,都支持sql标准语法,但是在实际使用中依然有细微差别。常言道细节决定成败。在自己使用过程中就发现在mssql server经常使用的东西在sqllite3无法运行。有几个遇到情况如下:

1、mssql 下经常使用字符串子串语法是:substring(),如果把这个直接搬到sqlite3下会出错的,在sqlite3需要改为substr。虽然就差三个字母,但是兼容性就是项目开发和项目移植必须考虑的问题。

2、mssql server下字符类型转换经常使用 convert(),到了sqlite3这个函数就是错误的。实践后才知道需要改为cast。比如cast(序号 as int) 在mssql 是 convert(int,序号) 。它们的细小差异还有很多。以后遇到逐一奉上。