在Ruby的续集中使用Concat和Trim
我有以下疑问:在Ruby的续集中使用Concat和Trim,ruby,sequel,Ruby,Sequel,我有以下疑问: select distinct db from aliasnames where concat(trim(group), ' ', trim(subgrp)) like 'My Client' 我怎样才能在Ruby的续集中做到这一点?您使用的是哪种SQL DB?MySQL同时具有和,因此您应该能够执行以下操作: SELECT DISTINCT db FROM aliasnames WHERE CONCAT(TRIM(group), ' ', TRIM(subgrp)) LIKE
select distinct db
from aliasnames
where concat(trim(group), ' ', trim(subgrp)) like 'My Client'
我怎样才能在Ruby的续集中做到这一点?您使用的是哪种SQL DB?MySQL同时具有和,因此您应该能够执行以下操作:
SELECT DISTINCT db FROM aliasnames WHERE CONCAT(TRIM(group), ' ', TRIM(subgrp)) LIKE 'My Client'
PostgreSQL也是如此——这里有一个指向的链接
更新:
我对Sequel toolkit不是很熟悉,但看起来您可以这样包装查询:
results = DB.fetch("SELECT DISTINCT db FROM aliasnames WHERE CONCAT(TRIM(group), ' ', TRIM(subgrp)) LIKE 'My Client'")
我相信问题是关于Ruby Sequel库的:我现在看到了,并相应地更新了我的答案:我尝试了DB.fetch,但不幸的是,它不像Sequel通常那样返回键值对中的结果。我看到DB.fetch应该返回一个哈希数组,其中,每个条目对应于一行,并由列键入。您的结果是什么样的?它只是像一个字符串一样连接了列名和字段。如果我只是从blah中选择distinct db。然后做一个db。每个做。。。。把每一行放进去,它像dbASDFSD dbASEIEHE dbASEIEHE一样显示
DB[:table].select(Sequel.join([:a,'b','c'],',')).sql
=> "SELECT CONCAT(`a`, ',', 'b', ',', 'c') FROM `table`"
DB[:table].select(Sequel.join([:a,'b','c'])).sql
=> "SELECT CONCAT(`a`, 'b', 'c') FROM `table`"
DB[:table].select(Sequel.trim(:a)).sql
=> "SELECT trim(`a`) FROM `table`"
DB[:table].select { concat(a,b,c) }.sql
=> "SELECT concat(`a`, `b`, `c`) FROM `table`"
DB[:table].select { concat(trim(a),b,c) }.sql
=> "SELECT concat(trim(`a`), `b`, `c`) FROM `table`"