Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Hai câu truy vấn giống nhau(logic) mà kết quả lại khác nhau??

  1. #1
    Ngày gia nhập
    03 2010
    Bài viết
    122

    Mặc định Hai câu truy vấn giống nhau(logic) mà kết quả lại khác nhau??

    Không hiểu SQL nó làm như thế nào nữa, bạn nào rành, phân tích giùm mình với
    Code:
    declare @l1 int, @l2 int
        set @l1=null
        set @l2=2.5    
        select case when @l1>@l2 then @l1 else @l2 end as th1    
        
        select case when @l1<@l2 then @l2 else @l1 end as th2
    th1: 2
    th2: null

  2. #2
    Ngày gia nhập
    07 2010
    Bài viết
    138

    Mình nghĩ là nó k so sánh kiểu int và giá trị Null được nên nó sẽ đẩy hết vào điều kiện else, đơn giản vậy thôi .

  3. #3
    Ngày gia nhập
    03 2009
    Nơi ở
    Tổ quốc Việt Nam
    Bài viết
    31

    Trích dẫn Nguyên bản được gửi bởi kqphu Xem bài viết
    Không hiểu SQL nó làm như thế nào nữa, bạn nào rành, phân tích giùm mình với
    Code:
    declare @l1 int, @l2 int
        set @l1=null
        set @l2=2.5    
        select case when @l1>@l2 then @l1 else @l2 end as th1    
        
        select case when @l1<@l2 then @l2 else @l1 end as th2
    th1: 2
    th2: null
    Thứ nhất là kiểu @l2 là kiểu int cho nên là không nên có câu lệnh set @l2=2.5, may mắn là nó hiểu và tự làm tròn
    Thư hai là mọi biểu thức so sánh có giá trị null thì kết quả là false. Do vậy TH1 cho ra kết quả là @l2, TH2 cho ra kết quả là @l1

    Sống phải biết tiến về phía trước
    Phận làm Cua anh phải bước sang ngang
    Nhưng đôi lúc anh ấy rất ngang tàng
    Vì trời đã ban đôi càng vững chắc

Các đề tài tương tự

  1. Lập trình C++ bit shifting? kết quả binary y hệt nhau nhưng cout lại khác nhau
    Gửi bởi quano1 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 10-05-2016, 10:28 AM
  2. Tư duy trừu tượng và tư duy logic trong lập trình khác nhau như thế nào?
    Gửi bởi datinh_o0o7 trong diễn đàn Kinh nghiệm CNTT
    Trả lời: 5
    Bài viết cuối: 21-05-2012, 10:29 PM
  3. Truy cập vùng nhớ quản lý bởi đối tượng lớp string qua data và c_str có như nhau không?
    Gửi bởi doicanhden trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 2
    Bài viết cuối: 20-01-2012, 11:37 PM
  4. Địa chỉ vật lý và địa chỉ logic là gì, chúng có gì khác nhau
    Gửi bởi taller trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 10-05-2011, 10:48 AM
  5. Sự khác nhau giữa Sơ đồ dữ liệu và sơ đồ logic.
    Gửi bởi zkday2686 trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 7
    Bài viết cuối: 10-03-2009, 10:18 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn