2010-07-12 42 views
8

Tôi có column acolumn b trong bảng emp. Tôi muốn lấy các giá trị từ các cột đó và tìm ra sự khác biệt giữa chúng với một hàm. Hàm này sẽ trả lại đúng cho 0 khác biệt nếu không trả về false. Tôi không biết cách trả lại một giá trị.Cách trả về giá trị boolean từ một hàm trong MySQL?

Ngoài ra, làm thế nào để lưu trữ các giá trị đã truy lục trong một biến?

Trả lời

16

MySQL không thực sự có boolean. TRUEFALSE là bí danh của 1 và 0 và loại cột BOOL chỉ là bí danh cho TINYINT(1). Tất cả các biểu thức xuất hiện để cho kết quả boolean thực sự trở về 0 hoặc 1.

Bạn có thể viết truy vấn của bạn như:

SELECT (a = b) AS a_equals_b 
FROM emp 
WHERE ... 
9
select a, b, if(a-b=0, true, false) as diff from emp; 
+0

Gọn gàng. Cố gắng này cho một bài kiểm tra và làm việc như một say mê :) –

+0

1 cho một cách để cụm từ kết quả, không biết rằng "nếu" hướng dẫn cho MySQL –

Các vấn đề liên quan