Tôi có một câu hỏiLàm cách nào chúng ta có thể sử dụng ISNULL cho tất cả các tên cột trong SQL Server 2008?
Tôi cố gắng để google
nó, nhưng hình như họ không thích *
Tôi đang sử dụng SQL Server 2008.
Tôi có bảng cơ sở dữ liệu sau đây:
P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
------------------------------------------------------------------------
1 Jarlsberg 10.45 16 15
2 Mascarpone Null 23 NULL
3 Gorgonzola 15.67 9 20
Nếu tôi cần thay thế null
bằng một chuỗi tôi biết tôi làm:
SELECT ISNULL(UnitsOnOrder,'No Data') FROM tbl
Câu hỏi
- Làm thế nào tôi có thể sử dụng
ISNULL()
với tên đa cột? - là nó có thể sử dụng nó với
*
Giống như
SELECT ISNULL(* , 'NO data') FROM tbl
Tôi nghĩ rằng đây sẽ là khó khăn vì các kiểu dữ liệu, bạn không thể vượt qua chuỗi để INT
datatype vậy làm thế nào có thể Tôi cũng sửa lỗi này
Cập nhật
Được rồi nếu tôi sử dụng ISNULL(
) với kiểu dữ liệu là int
, nó sẽ trả lại 0
sẽ là một giá trị đối với tôi, làm cách nào để chuyển chuỗi trống?
Không, bạn phải liệt kê riêng từng cột. –
Tại sao bạn cần sử dụng '*'? Nó không hoạt động cho bạn nếu bạn có các cột trong danh sách trường. –
@MikaelEriksson Anh ấy không muốn bao bọc tất cả các cột trong danh sách lựa chọn với một cuộc gọi đến isnull. Đang cố gắng để chữa một triệu chứng, tôi cảm thấy ... –