gpt4 book ai didi

sql - 为什么 "SELECT ISNULL(LEFT(NULL, 8), ' 123456789 0')"的结果返回为 '1' 而不是 '1234567890' ?

转载 作者:行者123 更新时间:2023-12-04 14:14:58 26 4
gpt4 key购买 nike

我有这个问题

SELECT ISNULL(LEFT(NULL, 8), '1234567890')

我得到的结果是“1”而不是“1234567890”。我错过了什么?

我使用的是 SQL Server 2014。

最佳答案

ISNULL 和 COALESCE 之间的一个区别是 ISNULL 将参数的长度限制为 first 的长度,而 COALESCE 则不会。尝试以下以了解差异

DECLARE @i AS VARCHAR(4) = NULL, 
@j AS VARCHAR(6) = 'abcdefg'

SELECT ISNULL(@i, @j)
SELECT COALESCE (@i, @j)

关于sql - 为什么 "SELECT ISNULL(LEFT(NULL, 8), ' 123456789 0')"的结果返回为 '1' 而不是 '1234567890' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47347677/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com