Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie przy użyciu tabeli pochodnej z ISNUMERIC powoduje niepowodzenie konwersji (varchar na int)

WHERE klauzula jest wykonywana jako pierwsza. Wypróbuj:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak znaleźć sortowanie w SQL Server (T-SQL)

  2. Utwórz schemat UDF związany ze schematem w SQL Server

  3. Nie mogę zalogować się do SQL Server z uwierzytelnianiem Windows

  4. Przechwytywanie liczby z zapytania SQL

  5. Zamień kolumnę tożsamości z int na bigint