webForumDet fria alternativet

Between i Access returnerar nada

5 svar · 316 visningar · startad av Jesper T

Jesper TMedlem sedan nov. 20017 058 inlägg
#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?

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Jo, det fungerar på text men

'0' < '230' < '99'

konvertera till integer och jämför sedan

tohaMedlem sedan dec. 1999698 inlägg
#3
SELECT id,fld
FROM table
WHERE convert(int, isnull(fld,0)) Not Between 0 And 99
LarsGMedlem sedan dec. 200012 465 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.

tohaMedlem sedan dec. 1999698 inlägg
#5

Ah, sorry missade att det var Access. :r

Jesper TMedlem sedan nov. 20017 058 inlägg
#6

Jag körde med

SELECT id,fld
FROM table
WHERE cInt(fld) Not Between 0 And 99
Genererad på 514 ms · cache AV · v20260730165559-full.f96bc7eb