2016-11-22 2 views
1

Ich versuche, einige Zeilen zwischen zu Werten in SQL Server auszuwählen, aber es funktioniert nicht.So wählen Sie zwischen zwei Varchar-Spalten in SQL Server

In der Vergangenheit habe ich so etwas in Oracle gemacht.

Dies ist mein Code

Select * 
    From TABLENAME 
    Where CU_CODE Between 'ELCTRN/6601' and 'ELCTRN/6699' 

Bitte jemand kann mir helfen?

+4

* "aber es funktioniert nicht" * >> Bitte klären. Du willst sagen, dass keine Zeilen ausgewählt sind? Sie bekommen einen Fehler? –

+0

ja ich meine keine Zeilen sind ausgewählt –

Antwort

0

Es ist nichts falsch mit Ihrem Ansatz ... die Sie interessieren:

DECLARE @tbl TABLE (CU_CODE NVARCHAR(50)); 

INSERT INTO @tbl VALUES 
    (N'ELCTRN/6601') 
, (N'ELCTRN/6602') 
, (N'ELCTRN/6603') 
, (N'ELCTRN/6604') 
, (N'ELCTRN/6605') 
, (N'ELCTRN/6606') 
, (N'ELCTRN/6607'); 

SELECT * 
FROM @tbl AS tbl 
WHERE tbl.CU_CODE BETWEEN N'ELCTRN/6603' AND N'ELCTRN/6605' 
+0

ja es funktioniert, danke –

0
DECLARE @T TABLE (CU_CODE NVARCHAR(50)); 

    INSERT INTO @T 
    VALUES('ELCTRN/6601'), 
    ('ELCTRN/6602'), 
    ('ELCTRN/6603'), 
    ('ELCTRN/6605'), 
    ('ELCTRN/668'), 
    ('ELCTRN/661'), 
    ('ELCTRN/662') ; 

    SELECT * FROM 
    (
    SELECT CU_CODE,SUBSTRING(CU_CODE, PATINDEX('%[0-9]%', CU_CODE),  LEN(CU_CODE)) AS CODE FROM @T 
    ) AS T 
    WHERE CODE BETWEEN 6601 AND 6603 
1

Try this:

Select * 
From TABLENAME 
WHERE CAST(RIGHT(CU_CODE,4) AS INT) Between 6601 and 6699 
Verwandte Themen