Det beror på vilken sorts databas du använder.
Om det är Access, prova LEFT(tips, 10) istället, eller klipp i VBScript när du skriver ut det.
8 svar · 551 visningar · startad av Rob Tjotj
Hej jag har sökt men inte hittat något som fungerar för mig så jag ställer frågan:
Jag vill ha inledningen (ett antal tecken i början) av en text som finns i en mssqldatabas.
Jag skrev:
SELECT ID, Kategori, substring(tips,0,10) as tips, Namn FROM tipstabellen Where (publicera=1) ORDER BY Kategori, ID
Resultat blir att tips är tomt.
Hur gör jag?
Det beror på vilken sorts databas du använder.
Om det är Access, prova LEFT(tips, 10) istället, eller klipp i VBScript när du skriver ut det.
@nders:
Rob Tjotj skrev:
...en text som finns i en mssqldatabas.
Rob Tjotj skrev:
Resultat blir att tips är tomt.
Kan det verkligen stämma? Det är så där man gör i ms sql.
OT: Du kan ta bort parenteserna här : (publicera=1)
Travoni: jag missade att han skrev att det var en SQL Server.
Blir resultatet detsamma även i Enterprise Manager / Query analyzer eller annat verktyg? Det ligger inte en massa inledande mellanslag eller skräp istället?
Left() skall iofs också fjunka i mssql.
En sak som kan ställa till det är att aliaset som anges för det klippta fältet har samma namn som fältet som klipps av. Man kan alltså prova att byta aliasnamn... :)
Jag får det inte att fungera.
Det blir null.
Om jag använder left
LEFT(tips, 10)
får jag
[Microsoft][ODBC SQL Server Driver][SQL Server]Argument data type text is invalid for argument 1 of left function.
Det fungerade om jag tog hela tipset men använde left() vid utskriften.
<%= left(tips,10) %>
Jag nöjer mig så.