webForumDet fria alternativet

Between i Access returnerar nada

Databaser & SQL

5 svar · 316 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1
SELECT id,fld
FROM table
WHERE fld Not Between '0' And '99'
[b]table[/b]
id[int] | fld[text]
----------
1 | 230
2 | 75
3 | 89

Denna borde (enligt mig) returnera id no 1 men inga poster visas. Funkar det inte på textfält eller vad är felet?

Medlem sedan dec. 200012 464 inlägg
#2

Jo, det fungerar på text men

'0' < '230' < '99'

konvertera till integer och jämför sedan

Medlem sedan dec. 1999707 inlägg
#3
SELECT id,fld
FROM table
WHERE convert(int, isnull(fld,0)) Not Between 0 And 99
Medlem sedan dec. 200012 464 inlägg
#4

Convert finns inte i Jet SQL (eller SQL).

Isnull finns i Jet SQL (inte i SQL) men fungerar inte på samma sätt som i Tsql.

Medlem sedan dec. 1999707 inlägg
#5

Ah, sorry missade att det var Access. :r

Medlem sedan nov. 20017 144 inlägg
#6

Jag körde med

SELECT id,fld
FROM table
WHERE cInt(fld) Not Between 0 And 99
272 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)