jo ... ms sql2005
diese variante hab ich befürchtet. das ganze in einen string setzen und exec ... leider ist der select nur ein ganz kleiner auszug des ganzen
hier der ganze sql
SELECT UPPER(REPLACE(LEFT(RTRIM(dbo.VOZA.vozabez), 5), ' ', '')) AS VC_NR, RTRIM(dbo.ABVO.ABVOBEZ) AS VC_NAME,
CONVERT(nvarchar(10), GETDATE(), 112) AS FILE_DATE, RTRIM(dbo.ABO01VRX.AVREXTNR) AS BEZIRK, RTRIM(dbo.ABO01VRX.AVRORT1)
AS ORT_BEZIRK, RTRIM(dbo.ABO01VRX.avrplz1) + RTRIM(dbo.ABO01VRX.avrplzzz1) AS PLZ_BEZIRK, dbo.VOAD.voadadnr AS GP_NR,
RTRIM(dbo.VOAD.voadpersnr) AS PERS_NR, RTRIM(dbo.VOAD.voadanrede) AS ANREDE, RTRIM(dbo.VOAD.voadvorname) AS VORNAME,
RTRIM(dbo.VOAD.voadname) AS NAME, DATEPART(day, dbo.VOAD.voadgebdat) AS GEB_DAT_TT, DATEPART(month, dbo.VOAD.voadgebdat)
AS GEB_DAT_MM, DATEPART(year, dbo.VOAD.voadgebdat) AS GEB_DAT_JJJJ, CONVERT(nvarchar(10), dbo.VOAD.voadgebdat, 104) AS GEB_DATUM,
RTRIM(dbo.VOAD.voadtel1) AS [TEL_NR P], RTRIM(dbo.VOAD.voadtel2) AS [TEL_NR G], RTRIM(dbo.VOAD.voadtel3) AS [TEL_NR N],
RTRIM(dbo.VOAD.voadstrasse) + ' ' + RTRIM(dbo.VOAD.voadhausnr) AS STRASSE, RTRIM(dbo.VOAD.voadplz) AS PLZ, RTRIM(dbo.VOAD.voadort)
AS ORT, 'CH' AS Land, RTRIM(dbo.VOAD.voademail1) AS [E-Mail], RTRIM(dbo.VOAD.voademail2) AS [E-Mail2],
dbo.ABO01VRX.AVRINTNR AS VRX_NR
FROM dbo.ABO01VRX INNER JOIN
dbo.ABVO ON dbo.ABO01VRX.avrvonr = dbo.ABVO.ABVOVONR INNER JOIN
dbo.VOZA ON dbo.ABO01VRX.avrzanr = dbo.VOZA.vozazanr INNER JOIN
dbo.VOSV ON dbo.ABO01VRX.AVRINTNR = dbo.VOSV.vosvvrnr INNER JOIN
dbo.VOAD ON dbo.VOSV.vosvadnr = dbo.VOAD.voadadnr INNER JOIN
dbo.View_ASK_Routen_StammJSE ON dbo.ABO01VRX.AVRINTNR = dbo.View_ASK_Routen_StammJSE.AVRINTNR
WHERE (dbo.VOAD.deleted = '0') AND (dbo.VOSV.deleted = '0') AND (CONVERT(nvarchar(10), dbo.VOSV.vosvvon, 120) <= CONVERT(nvarchar(10), GETDATE()
+ 1, 120)) AND (CONVERT(nvarchar(10), dbo.VOSV.vosvbis, 120) >= CONVERT(nvarchar(10), GETDATE() + 1, 120)) AND (dbo.VOSV.vosvjs = '1') AND
(dbo.VOSV.vosvjsmo = '1') OR
(dbo.VOAD.deleted = '0') AND (dbo.VOSV.deleted = '0') AND (CONVERT(nvarchar(10), dbo.VOSV.vosvvon, 120) <= CONVERT(nvarchar(10), GETDATE() + 1,
120)) AND (CONVERT(nvarchar(10), dbo.VOSV.vosvbis, 120) IS NULL) AND (dbo.VOSV.vosvjs = '1') AND (dbo.VOSV.vosvjsmo = '1')
ORDER BY VC_NR, BEZIRK
aber ich komme wohl nicht drumherum ....
nun hänge ich aber schon wieder, und zwar:
SELECT UPPER(REPLACE(LEFT(RTRIM(dbo.VOZA.vozabez), 5), ' ', '')) AS VC_NR
als string sieht das ja dann so aus:
set @sql = 'select UPPER(REPLACE(LEFT(RTRIM(dbo.VOZA.vozabez), 5), ' + ....
wie bekomme ich die hochkommas (' ', '') in den string ... da gibts doch so ein ganz spezielles vorzeichen welches diese als text definiert.
danke schonmal für den ersten tip ...