sql >> Database >  >> RDS >> Sqlserver

Query met behulp van een afgeleide tabel met ISNUMERIC resulteert in een mislukte conversie (varchar naar int)

De WHERE clausule wordt als eerste uitgevoerd. Probeer:

DECLARE @table table (loc varchar(10)) 

INSERT INTO @table VALUES 
('134a'), ('123'), ('abc'), ('124') 

SELECT *  
FROM ( 
    SELECT * FROM @table
) as a 
WHERE ISNUMERIC(loc) = 1 and CAST(loc as INT) BETWEEN 100 AND 200 



  1. werkdagen toevoegen in oracle sql

  2. Dubbele subtekenreeksen verwijderen

  3. hoe datum en tijd in orakel in te voegen?

  4. MS SSQL:Case gebruiken wanneer als exec-parameter