Hướng dẫn how do i check if a variable is null in mysql? - làm cách nào để kiểm tra xem một biến có phải là null trong mysql không?

Tôi có một quy trình lưu trữ MySQL trong đó tôi tìm thấy giá trị tối đa từ bảng.

Nếu không có giá trị, tôi muốn đặt biến cho ngày hôm qua.

DECLARE current_procedure_name CHAR(60) DEFAULT 'accounts_general';
DECLARE last_run_time datetime DEFAULT NULL;
DECLARE current_run_time datetime DEFAULT NOW();

-- Define the last run time
SET last_run_time := (SELECT MAX(runtime) 
FROM dynamo.runtimes WHERE procedure_name = @current_procedure_name);

-- if there is no last run time found then use yesterday as starting point
IF(@last_run_time IS NULL) THEN
    SET last_run_time := DATE_SUB( NOW(), INTERVAL 1 DAY);
END IF;

SELECT @last_run_time;

Vấn đề là @last_run_time luôn vô hiệu.

Mã sau không được thực thi vì một số lý do

IF(last_run_time IS NULL) THEN
    SET last_run_time := DATE_SUB( NOW(), INTERVAL 1 DAY);
END IF;

Làm thế nào tôi có thể đặt biến @last_run_time một cách chính xác?

Hướng dẫn how do i check if a variable is null in mysql? - làm cách nào để kiểm tra xem một biến có phải là null trong mysql không?

Hỏi ngày 28 tháng 8 năm 2013 lúc 23:06Aug 28, 2013 at 23:06

2

@last_run_time là 9,4. Các biến do người dùng xác định và

IF(last_run_time IS NULL) THEN
    SET last_run_time := DATE_SUB( NOW(), INTERVAL 1 DAY);
END IF;
1 một 13.6.4.1. Biến cục bộ Tuyên bố Syntax, là các biến khác nhau.

Hãy thử:

IF(last_run_time IS NULL) THEN
    SET last_run_time := DATE_SUB( NOW(), INTERVAL 1 DAY);
END IF;
2

CẬP NHẬT

Example:

/* CODE FOR DEMONSTRATION PURPOSES */
DELIMITER $$

CREATE PROCEDURE `sp_test`()
BEGIN
    DECLARE current_procedure_name CHAR(60) DEFAULT 'accounts_general';
    DECLARE last_run_time DATETIME DEFAULT NULL;
    DECLARE current_run_time DATETIME DEFAULT NOW();

    -- Define the last run time
    SET last_run_time := (SELECT MAX(runtime) FROM dynamo.runtimes WHERE procedure_name = current_procedure_name);

    -- if there is no last run time found then use yesterday as starting point
    IF(last_run_time IS NULL) THEN
        SET last_run_time := DATE_SUB(NOW(), INTERVAL 1 DAY);
    END IF;

    SELECT last_run_time;

    -- Insert variables in table2
    INSERT INTO table2 (col0, col1, col2) VALUES (current_procedure_name, last_run_time, current_run_time);
END$$

DELIMITER ;

Đã trả lời ngày 28 tháng 8 năm 2013 lúc 23:16Aug 28, 2013 at 23:16

wchiquitowchiquitowchiquito

15.9k2 Huy hiệu vàng33 Huy hiệu bạc45 Huy hiệu Đồng2 gold badges33 silver badges45 bronze badges

10


Để kiểm tra NULL hoặc biến trống, hãy sử dụng điều kiện IF. Hãy để chúng tôi tạo một thủ tục được lưu trữ -

mysql> delimiter //
mysql> create procedure checkingForNullDemo(Name varchar(20))
     begin
     if Name is NULL OR Name='' then
     select 'Adam Smith';
     else
     select Name;
     end if ;
     end
     //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;

Trường hợp 1

Khi NULL được thông qua. Gọi thủ tục được lưu trữ bằng lệnh gọi

mysql> call checkingForNullDemo(NULL);

Điều này sẽ tạo ra đầu ra sau -

+------------+
| Adam Smith |
+------------+
| Adam Smith |
+------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)

Trường hợp 2

Khi một giá trị được thông qua. Gọi quy trình được lưu trữ bằng lệnh gọi

mysql> call checkingForNullDemo('John Doe');

Điều này sẽ tạo ra đầu ra sau -

+----------+
| Name     |
+----------+
| John Doe |
+----------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

Hướng dẫn how do i check if a variable is null in mysql? - làm cách nào để kiểm tra xem một biến có phải là null trong mysql không?

Trường hợp 2

  • Khi một giá trị được thông qua. Gọi quy trình được lưu trữ bằng lệnh gọi
  • Cập nhật vào ngày 25 tháng 2 năm 2020 13:02:51
  • Câu hỏi và câu trả lời liên quan
  • Kiểm tra xem một trường trống hay null trong mysql?
  • Trong các quy trình lưu trữ MySQL, làm thế nào để kiểm tra xem một biến cục bộ có phải là null không?
  • Đặt giá trị tùy chỉnh cho các giá trị null hoặc trống trong mysql
  • Kiểm tra các giá trị null hay không null trong một cột trong mysql
  • Kiểm tra null hoặc trống trong java.
  • Làm thế nào để kiểm tra xem trường là null hoặc trống trong mysql?
  • Điều kiện ở đâu mệnh đề trong quy trình lưu trữ MySQL để đặt giá trị tùy chỉnh cho các giá trị null
  • Làm cách nào để kiểm tra xem một cột có trống hoặc null trong mysql không?
  • MySQL không phải là một thông điệp biến đổi hoặc giả mới. Lỗi này trong thủ tục lưu trữ của tôi là gì?
  • Làm thế nào để kiểm tra xem một thủ tục được lưu trữ có tồn tại trong MySQL không?
  • Quy trình được lưu trữ bằng cách sử dụng biến trong biểu thức giới hạn?
  • Làm thế nào một thủ tục lưu trữ MySQL có thể gọi một thủ tục lưu trữ MySQL khác bên trong nó?
  • Chương trình Java để kiểm tra xem một chuỗi có trống hay không

Làm thế nào kiểm tra nếu điều kiện là null trong mysql?

Ifnull () hàm mysql ifnull () lấy hai biểu thức và nếu biểu thức đầu tiên không phải là null, nó sẽ trả về biểu thức đầu tiên. Nếu không, nó trả về biểu thức thứ hai. Tùy thuộc vào ngữ cảnh mà nó được sử dụng, nó trả về giá trị số hoặc chuỗi. MySQL IFNULL() takes two expressions and if the first expression is not NULL, it returns the first expression. Otherwise, it returns the second expression. Depending on the context in which it is used, it returns either numeric or string value.

NULL có phải là MySQL không?

Chúng ta hãy xem một ví dụ về cách sử dụng mysql là null trong một câu lệnh Chọn: Chọn * từ các liên hệ trong đó last_name là null;MYSQL này là ví dụ NULL sẽ trả về tất cả các bản ghi từ bảng Danh bạ trong đó Last_Name chứa giá trị null.SELECT * FROM contacts WHERE last_name IS NULL; This MySQL IS NULL example will return all records from the contacts table where the last_name contains a NULL value.

NULL có phải là điều khoản mysql không?

Để kiểm tra NULL trong truy vấn, bạn sử dụng NULL hoặc không phải là toán tử null trong mệnh đề WHERE.Bạn có thể sử dụng nhà điều hành IS không để có được tất cả các khách hàng tiềm năng đã cung cấp địa chỉ email.Mặc dù null không bằng null, hai giá trị null bằng với mệnh đề theo nhóm.you use the IS NULL or IS NOT NULL operator in the WHERE clause. You can use the IS NOT operator to get all leads who provided the email addresses. Even though the NULL is not equal to NULL , two NULL values are equal in the GROUP BY clause.

Không phải null hay trống trong mysql?

Điều kiện không phải là null được sử dụng trong SQL để kiểm tra giá trị không null.Nó trả về đúng nếu tìm thấy một giá trị không null, nếu không nó sẽ trả về sai.Nó có thể được sử dụng trong một câu lệnh CHỌN, CHỌN, CẬP NHẬT hoặc XÓA.. It returns TRUE if a non-NULL value is found, otherwise it returns FALSE. It can be used in a SELECT, INSERT, UPDATE, or DELETE statement.