2017-01-13 3 views
3

Dies ist meine Tabelle DatenWie verwenden Sie den Operator für den Bereich?

Id Begin End 
1 0  1 
2 1  3 
3 3  4 

Das ist meine Frage:

DECLARE @abc Float=1.5; 
SELECT * FROM dbo.Slab AS s WHERE @abc BETWEEN s.Begin AND s.End 

Dies gibt mir 2 Reihen. Ich möchte eine Zeile finden, für die der Parameter @abc größer als Begin, aber kleiner oder gleich Ende ist. Zum Beispiel, wenn @ abc = 1, möchte ich 1 wählen, wenn @ abc = 1.5 Ich möchte 2 auswählen, wenn @ abc = 3 Ich möchte 2 auswählen, wenn @ abc = 0.1 Ich möchte 1 und so weiter auswählen.

+2

'BETWEEN' ist auf beiden Seiten inklusive. Warum nicht einfach '>' und '<=' Operatoren verwenden? – HoneyBadger

+2

'@ abc' wird nie' 1,5' oder '0,1' sein, da es als' int' deklariert ist. –

+0

oh sorry das ist float –

Antwort

1
DECLARE @abc Float=1.5; 
SELECT * FROM dbo.slab AS s WHERE @abc > s.[begin] and @abc<=s.[end] 
+0

Danke anjali :) –

Verwandte Themen