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

Jak używać klauzuli między klauzulą ​​na nvarchar?

Zakładając, że nie będziesz mieć ŻADNEJ NEGATYWNEJ LICZBY Musisz rzutować nvarchar na Int dla swojej klauzuli między i ustawić domyślną dla przypadku, gdy nie można go rzutować, jak poniżej:

 SELECT *
  From Vendor_Value_Table
WHERE (Vendor_Value_Table.Feature_ID in (17,19)) 
AND(
value_text like 'Dhol Wala$Shahnai Wala' 
OR 
 (SELECT CASE WHEN ISNUMERIC(value_text) = 1 THEN CAST(value_text AS INT) ELSE -1 END) between 0 and 100
 )

Wybraliśmy -1 jako wartość domyślną, ponieważ jeśli nie jest w stanie rzutować, klauzula pośrednia musi być zawsze fałszywa.

(ODPOWIEDZI TYLKO NA LICZBY MNIEJSZE NIŻ ZAKRES WEWNĘTRZNY)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jakie polecenie SQL przyznaje administratorowi zabezpieczeń dostęp do bazy danych?

  2. Przechwytywanie liczby z zapytania SQL

  3. 5 świetnych zasobów, które pomogą Ci w pełnieniu roli monitorowania bazy danych

  4. java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver :Czy ładuję właściwy sterownik?

  5. Zastąp przecinek między cytatami spacją