Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Заявка, използваща извлечена таблица с ISNUMERIC, води до неуспешно преобразуване (varchar към int)

WHERE клаузата се изпълнява първа. Опитайте:

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. SQL Server:Максимална дължина на знаците на имената на обекти

  2. Дестинация на SQL Server спрямо местоназначение на OLE DB

  3. изчисляване на среден рейтинг в sql сървър

  4. MERGE атомарно изявление в SQL2008 ли е?

  5. Разбиране на заключването на SQL Server за защитена среда на база данни