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

sử dụng 'between' với varchar (máy chủ sql)

Có, tùy thuộc vào ý bạn của hành vi mong đợi. Toán tử BETWEEN sẽ coi các toán hạng này như là varchars và áp dụng các quy tắc so sánh của nó cho phù hợp:

Bây giờ, tôi có thể thấy rất nhiều vấn đề tiềm ẩn, so sánh các chuỗi và mong đợi hành vi so sánh ngày. Tôi chưa thấy bất kỳ điều nào trong các thử nghiệm của mình, nhưng hãy xem kỹ dữ liệu của bạn. CONVERT có trả về thời gian 24 giờ với các số 0 ở đầu thích hợp không?

Câu hỏi này có một số cách tiếp cận khác để so sánh không-thời gian dữ liệu, ngoài việc chuyển đổi chúng thành varchars.

Ngoài ra, hãy để ý các ngày trống, điều này sẽ khiến điều kiện WHERE tương ứng trả về false (thực tế là không xác định).

Trong câu hỏi khác của bạn, bạn đã chỉ ra rằng bạn đang gặp lỗi. Nếu vậy, bạn có thể đăng nó không?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ngày tạo trong SQL Server 2008

  2. Làm thế nào để xây dựng một câu lệnh SQL bằng cách sử dụng các ID có thể không có sẵn trong bảng?

  3. Cài đặt thời gian chờ cho SQL Server

  4. Chọn ký tự cyrillic trong SQL

  5. Làm cách nào để bạn đạt đến giới hạn 8060 byte mỗi hàng và 8000 cho mỗi giá trị (varchar, nvarchar)?