webForumDet fria alternativet

Söka i ett fält med mellanslag i (" 46901")

Databaser & SQL

3 svar · 384 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

varQuery = "SELECT TOP 25 * FROM SALESTABLE WHERE DEBTORACCOUNT = 46901 "
set rs = Connect.execute(varQuery)

DEBTORACCOUNT har datatypen varchar, size 10

Frågan ovan returnerar inte något resultat fastän jag kan se att värdet finns i tabellen. Men det verkar nästan som att det är ett par mellanslag innan idnumret...

Om jag klipper ut datan från tabellen så ser den ut så här: " 46901"

Hur söker jag i ett sådant fält? Servern är MS SQL server 7.

Medlem sedan maj 20012 080 inlägg
#2

Det är alltså mer än ett mellanslag innan siffrorna.

Medlem sedan juni 200032 967 inlägg
#3

Jag tycker att det luktar concorde lång väg, jag... :-)

Om det nu är Concorde, så lagras av någon anledning kundnumret högerjusterat i databasen, istället för att fixa textjusteringen i applikationen. I så fall är det fem mellanslag innan, och då kan du köra följande:

SELECT TOP 25 * FROM SALESTABLE WHERE LTRIM(DEBTORACCOUNT) = '46901'

mvh

Medlem sedan maj 20012 080 inlägg
#4

ha ha.... humor... visst är det... concorde.

Superbra @nders. Man kan lita på dig!

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)