Thay thế null bằng chuỗi rỗng Python
Chúng ta thường cần thay thế các giá trị NULL bằng Chuỗi rỗng hoặc trống trong SQL e. g. trong khi nối Chuỗi. Trong SQL Server, khi bạn nối một Chuỗi NULL với một Chuỗi không null khác, kết quả là NULL, có nghĩa là bạn mất thông tin bạn đã có. Để ngăn chặn điều này, bạn có thể thay thế NULL bằng Chuỗi trống trong khi nối. Có hai cách để thay thế NULL bằng các giá trị trống trong SQL Server, hàm ISNULL(), và COALESCE() . Cả hai hàm đều thay thế giá trị bạn cung cấp khi đối số là NULL như . Both functions replace the value you provide when the argument is NULL like ISNULL(column, '') sẽ trả về Chuỗi trống nếu giá trị cột là NULL. Thay thế NULL bằng khoảng trống trong SQL SERVER - Ví dụ ISNULL()Trước tiên chúng ta hãy xem cách sử dụng ISNULL() để thay thế Chuỗi NULL thành Chuỗi rỗng trong SQL SERVER. Để hiểu vấn đề và giải pháp tốt hơn, hãy tạo một cơ sở dữ liệu mẫu với một số giá trịIF OBJECT_ID( 'tempdb..#People' ) IS NOT NULL DROP TABLE #People; CREATE TABLE #People (first_name varchar(30), last_name varchar(30)); INSERT INTO #People VALUES ('Joe','Root'); INSERT INTO #People VALUES ('Mary', NULL); INSERT INTO #People VALUES (NULL, 'Broad'); -- cleanup -- DROP TABLE #People Bây giờ, hãy hiển thị tên, họ và tên đầy đủ từ bảng #People , trong đó tên đầy đủ không là gì ngoài sự nối của . Đây là truy vấn SQL của chúng tôi. SELECT first_name, last_name, first_name + last_name AS full_name FROM #People first_name last_name full_name Joe Root JoeRoot Mary NULL NULL NULL Broad NULL Bạn có thể thấy rằng full_name là NULL cho bản ghi thứ hai và thứ ba vì đối với chúng, first_name hoặc last_name là NULL. Để tránh điều đó và để thay thế NULL bằng Chuỗi trống, hãy sử dụng phương thức ISNULL() trong truy vấn SQL của chúng ta. SELECT first_name, last_name, ISNULL(first_name,'') + ISNULL(last_name,'') as full_name FROM #People first_name last_name full_name Joe Root JoeRoot Mary NULL Mary NULL Broad Broad Bạn có thể thấy rằng mặc dù một trong các cột tham gia là NULL nhưng full_name không còn là NULL nữa vì ISNULL() đang thay thế các giá trị NULL bằng một khoảng trống Sử dụng COALESCE() để thay thế NULL bằng String rỗng trong SQL SERVERTrong ví dụ trước, bạn đã học cách sử dụng ISNULL() để thay thế các giá trị NULL bằng giá trị trống trong SQL SERVER, hãy xem cách chúng ta có thể sử dụng COALESCE() để làm điều tương tự. Hãy nhớ rằng, COALESCE() là một chức năng tiêu chuẩn và bất cứ khi nào bạn có thể sử dụng COALESCE(), bạn nên sử dụng nó. Trong ví dụ này, bạn không cần làm gì cả, chỉ cần thay thế ISNULL() bằng COALESCE()< . and you are done, as shown in the following SQL query:SELECT first_name, last_name, COALESCE(first_name,'') + COALESCE(last_name,'') as full_name FROM #People first_name last_name full_name Joe Root JoeRoot Mary NULL Mary NULL Broad Broad Để tôi chỉ cho bạn một cách sử dụng khác của hàm COALESCE() khi chúng ta đang sử dụng nó. Bạn có thể sử dụng COALESCE() để hướng dẫn sử dụng giá trị của cột khác nếu cột mục tiêu là NULL và nếu đó cũng là null thì hãy sử dụng cột thứ ba, v.v. Bạn có thể sử dụng kỹ thuật này để cung cấp các giá trị mặc định phức tạp trong báo cáo của mình. Ví dụ: trong trường hợp này, hãy hiển thị giá trị của last_name nếu first_name is NULL and the value of first_name if last_name is NULL in the report. Following SQL query uses COALESCE to do that: SELECT COALESCE(first_name,last_name, '') as first_name, COALESCE(last_name, first_name,'') as last_name, COALESCE(first_name,'') + COALESCE(last_name,'') as full_name FROM #People first_name last_name full_name Joe Root JoeRoot Mary Mary Mary Broad Broad Broad Đây là ảnh chụp màn hình các truy vấn SQL từ cơ sở dữ liệu Microsoft SQL SERVER 2014 để cung cấp cho bạn cái nhìn đầy đủ Đó là tất cả về cách thay thế NULL bằng Chuỗi rỗng hoặc trống trong SQL SERVER. Bạn có thể sử dụng ISNULL() hoặc COALESCE() để thay thế NULL bằng . Điều đặc biệt quan trọng là sử dụng các hàm này trong khi nối Chuỗi trong SQL Server vì một NULL có thể biến tất cả thông tin thành NULL. Btw, bạn cũng có thể sử dụng CONCAT() thay cho toán tử + để tránh NULL, hàm này trả về giá trị của đối số không null nếu khác . Giữa ISNULL() và COALESCE() , hãy sử dụng ISNULL() if you know for sure that your code will run on Microsoft SQL Server but COALESCE() is better because it's standard and you can use it to replace NULL with empty String in any database like Oracle, MySQL, and PostgreSQL. Học thêm Giới thiệu về SQL Chương trình đào tạo SQL hoàn chỉnh SQL cho người mới. Phân tích dữ liệu cho người mới bắt đầu |