sách gpt4 ai đã đi

Buộc COALESE(NULL,NULL) trả về NULL

In lại 作者:行者123 更新时间:2023-12-02 19:37:41 28 4
mua khóa gpt4 Nike

在 SQL 服务器中考虑到以下事实:Col1 和 Col2 包含数值和 NULL 值

LỰA CHỌN 
COALESCE(Col1,Col2)

返回一个错误:“COALESCE 的至少一个参数必须是一个不是 NULL 常量的表达式。”考虑到 Col1 和 Col2 是 NULL,我想在这种情况下强制它返回 NULL 值。

解决方法对我来说似乎不够优雅/效率低下:

LỰA CHỌN
NULLIF(COALESCE(Col1 ,Col2 ,''),'')

请注意,Col1 和 Col2 是数字字段,不能将 '' 作为值。

还有什么建议吗?

谢谢你的帮助

1 Câu trả lời

此代码有效:

SELECT COALESCE(Col1, Col2) 
FROM . . . -- references here that define COL1 and COL2

如果两列都是 VÔ GIÁ TRỊ,它将返回 VÔ GIÁ TRỊ(在您的情况下键入为整数)。

唯一一次出现您提到的错误是当列显式 VÔ GIÁ TRỊ 时。甚至计算似乎也能解决这个问题:

select coalesce(null + 3, null)
--> NULL rather than an error

以下甚至返回 VÔ GIÁ TRỊ 而不是错误:

declare @col1 int;
declare @col2 int;

select coalesce(@col1, @col2);

Here是一个数据库<> fiddle 。

关于sql - 强制 COALESE(NULL,NULL) 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60817295/

28 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com