sql >> Database teknologi >  >> RDS >> Sqlserver

Database-uafhængig SQL-strengsammenkædning i skinner

Jeg havde det samme problem og fandt aldrig på noget, der var indbygget i Rails. Så jeg skrev denne lille metode.

# 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

Jeg tænker, at nogen virkelig burde skrive en slags SQL-hjælper-plugin, der automatisk kunne formatere simple SQL-udtryk baseret på de korrekte funktioner eller operatorer for den aktuelle adapter. Måske skriver jeg en selv.



  1. SQL Server-ydelse TOP CPU-forespørgsel -1

  2. Afkortning af en tabel i en lagret procedure

  3. Webstedets funktionalitet forstyrret eller hacket

  4. qt + oracle forbindelsesproblem