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

Kiểm tra xác thực số

Biểu thức của bạn là hợp lệ, tôi nghi ngờ rằng bạn đang nhận một giá trị được hàm coi là số, nhưng không thể chuyển đổi thành số nguyên. Hãy thử cách sau ...

declare @myfield varchar(20)
set @myfield='.'
if ISNUMERIC(@myfield)=1
begin
    select CONVERT(int,@myField)
end

Câu lệnh chuyển đổi sẽ xuất hiện với lỗi mà bạn đang báo cáo ...

Hãy xem câu hỏi này: T-sql - xác định xem giá trị là số nguyên

Một số ví dụ khác về giá trị "Số" không thể chuyển đổi thành số nguyên

select '1.e0',ISNUMERIC('1.e0') as IsNum  
union
select '.',ISNUMERIC('.') as IsNum  
union
select '12.31',ISNUMERIC('12.31') as IsNum  

Thêm một convert(int,myField) được chọn trong begin/end để xem giá trị trường thực tế khiến lỗi xảy ra



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách bỏ qua các thẻ html trong Sql Server 2008 Full Text Search

  2. Làm thế nào để đếm các bảng trống trong cơ sở dữ liệu?

  3. Truy vấn SQL Server từ SPSS cách kết nối

  4. Cách tạo nhiều cái cho một cái

  5. Sao chép trong mô hình kề