sql >> Databasteknik >  >> RDS >> Sqlserver

Fråga som använder en härledd tabell med ISNUMERIC resulterar i konverteringsfel (varchar till int)

WHERE klausul körs först. Försök:

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. Vad är det snabbaste sättet att välja 2 kolumner från samma (slumpmässiga) post i MySQL?

  2. Hur man lägger till prefix för alla tabeller i mysql

  3. PHP:Visa ja/nej bekräftelsedialog

  4. SQL SERVER - Förstå hur MIN(text) fungerar