Sembra che si tratti in particolare della definizione di una grossa query all'interno di un linguaggio di programmazione, vedendoti mettere la query all'interno di una stringa letterale e concatenarla.
Se è un linguaggio compilato, non dovrebbe fare alcuna differenza - una delle prime ottimizzazioni che il compilatore farebbe è di concatenare automaticamente i valori letterali delle stringhe insieme, così si finisce comunque con una stringa grande.
Per quanto riguarda la sintassi, dovresti considerare di spostare la query al di fuori del tuo codice - memorizzarla in un file di risorse .sql separato e far leggere al tuo software quel file. Utilizzare le istruzioni preparate per le variabili, se non è una query creata dinamicamente (ad esempio, clausole where aggiunte in base a determinati parametri). Se è compilato dinamicamente, puoi aggiungere variabili sostitutive, inserendo parametri aggiuntivi dove e quando necessario.
Come per le 1600 colonne, consiglio seriamente di costruire una vista per questo, quindi invece di
SELECT column1, column2, .... column1600 from X where Y
riceverai
SELECT * FROM viewX WHERE y
Molto più conciso nel tuo codice.