Rails中与数据库无关的SQL字符串连接
发布时间:2020-12-12 16:27:35 所属栏目:MsSql教程 来源:网络整理
导读:我想在Rails查询中进行数据库端字符串连接,并以数据库独立的方式执行. SQL-92将双栏(||)指定为连接运算符.不幸的是,看起来MS SQL Server不支持它;它改为使用 我猜测Rails的SQL语法抽象已经解决了数据库特定的运算符问题.如果它存在,我该如何使用它? 解决方法
我想在Rails查询中进行数据库端字符串连接,并以数据库独立的方式执行.
SQL-92将双栏(||)指定为连接运算符.不幸的是,看起来MS SQL Server不支持它;它改为使用 我猜测Rails的SQL语法抽象已经解决了数据库特定的运算符问题.如果它存在,我该如何使用它? 解决方法我有同样的问题,从来没有想到Rails内置的任何东西.所以我写了这个小方法.# 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助手插件.也许我会自己写一个. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |