Rails中与数据库无关的SQL字符串连接

前端之家收集整理的这篇文章主要介绍了Rails中与数据库无关的SQL字符串连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在Rails查询中进行数据库端字符串连接,并以数据库独立的方式执行.

sql-92将双栏(||)指定为连接运算符.不幸的是,看起来MS sql Server不支持它;它改为使用

我猜测Rails的sql语法抽象已经解决数据库特定的运算符问题.如果它存在,我该如何使用它?

解决方法

我有同样的问题,从来没有想到Rails内置的任何东西.所以我写了这个小方法. @H_301_10@# Symbols should be used for field names,everything else will be quoted as a string def db_concat(*args) adapter = configurations[RAILS_ENV]['adapter'].to_sym args.map!{ |arg| arg.class==Symbol ? arg.to_s : "'#{arg}'" } case adapter when :MysqL "CONCAT(#{args.join(',')})" when :sqlserver args.join('+') else args.join('||') end end

我在想,有人应该写一些可以使用正确的函数或操作符来自动格式化简单的sql表达式的一些sql助手插件.也许我会自己写一个.

原文链接:https://www.f2er.com/mssql/82259.html

猜你在找的MsSQL相关文章