七叶笔记 » golang编程 » sqlite3 与mssqlserver的细微差别

sqlite3 与mssqlserver的细微差别

在以前经常使用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,序号) 。它们的细小差异还有很多。以后遇到逐一奉上。

相关文章