webForumDet fria alternativet
Logga in / Bli medlem

Mellanslag i sql-sats?

Databaser & SQL

6 svar · 528 visningar · startad av Dflex

Medlem sedan juni 2002136 inlägg
Frågan#1

Hej!

Jag vill ha ett mellanslag i min sql-sats. Jag har försökt med nbsp; (se nedanstående) men det blir fel.

sql="SELECT Ritningsid AS Ritid, Format & Ritningsnr & nbsp; & Revision AS Ritnr, ........

Vad skriver man?

Hälsningar

Dflex

Medlem sedan juni 200032 967 inlägg
#2

Jag vet inte riktigt vad du är ute efter. Vill du lägga ihop innehållet i flera fält till ett resultatfält?

sql="SELECT Ritningsid AS Ritid, (Format + Ritningsnr + ' ' + Revision) AS Ritnr, ...

I SQL använder man normalt + för att konkatenera. Möjligen kan du behöva typkonvertera i frågan också om inte fälten är av texttyp.

Är databasen Access?

Medlem sedan juni 2002136 inlägg
#3

Precis vad jag var ute efter, det funkar!

Ritningsnr och revision är av datatypen text, jag vet inte om det hade funkat annars? Jag har inte testat att byta. Min databas är gjord i Access!

Tack!

Medlem sedan juni 200032 967 inlägg
#4

Plus är ju också en matematisk operator, så jag tror inte det hade funkat rakt av om något av fälten varit av taltyp. Då får man ta till on-the-fly-typkonvertering i SQL-frågan.

Men låt du dina fält vara av texttyp.

Mvh,

Medlem sedan dec. 200012 464 inlägg
#5

I Access används & för strängkonkatenering

sql="SELECT Ritningsid AS Ritid, (Format & Ritningsnr & ' ' & Revision) AS Ritnr, ...

(|| är det enligt ANSI standard.)

Medlem sedan juni 200032 967 inlägg
#6

Åhå!

Är det gamla SQL Serverkunskaper som finns i min hjärna? Jag har alltid använt +.

Dflex, byt genast plustecken mot ampersand, så borde du slippa eventuella typkonstigheter också.

Mvh,

Medlem sedan juni 2002136 inlägg
#7

Ok...gjort. Funkar fint!

259 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)