sql >> Database >  >> RDS >> Sqlserver

Database-onafhankelijke SQL String Concatenatie in Rails

Ik had hetzelfde probleem en kwam nooit met iets dat in Rails was ingebouwd. Dus schreef ik deze kleine methode.

# 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

Ik denk dat iemand echt een soort SQL-helper-plug-in zou moeten schrijven die automatisch eenvoudige SQL-expressies kan opmaken op basis van de juiste functies of operators voor de huidige adapter. Misschien schrijf ik er zelf een.



  1. Foutcode 1005, SQL-status HY000:Kan geen tabel maken errno:150

  2. Postgres Query Plan waarom rijschatting zo verkeerd is

  3. fout bij het installeren van mysqlclient met pip naar MacOS Bigsur

  4. hoe u alle mysql-tuple-resultaten kunt krijgen en converteren naar json