Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm thế nào để sử dụng giữa mệnh đề trên một nvarchar?

Giả sử bạn sẽ KHÔNG CÓ BẤT KỲ SỐ TIÊU CỰC NÀO Bạn phải ép kiểu nvarchar thành Int cho mệnh đề between của bạn và đặt giá trị mặc định cho trường hợp nó không thể truyền như sau:

 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
 )

Chúng tôi đã chọn -1 làm becuase mặc định nếu nó không được ép kiểu không thể đánh số, mệnh đề giữa cần phải luôn là false.

(NÓ SẼ CHỈ PHẢN ỨNG CHO CÁC CON SỐ ÍT HƠN INT RANGE)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để bạn loại bỏ tất cả các kết nối hiện tại đến cơ sở dữ liệu SQL Server 2005?

  2. SQL:Loại bỏ các bản sao

  3. Làm cách nào để tạo tập lệnh INSERT cho bảng SQL Server hiện có bao gồm tất cả các hàng được lưu trữ?

  4. SQL:chỉ viết hoa chữ cái đầu tiên

  5. Cài đặt từng bước SQL Server 2017 -1