gpt4 book ai didi

sql - 使用 SQL Case 语句获取转换错误

转载 作者:行者123 更新时间:2023-12-04 22:38:03 24 4
gpt4 key购买 nike

 CASE WHEN Items.SerialNumber = -1 THEN Items.Aux1
ELSE Items.SerialNumber
END AS 'CheckNo'

这是行不通的。我遇到了将 varchar 转换为 int 的错误。我很困惑,因为如果我将其作为 where 查询运行,它就可以工作。我只在 case 语句中收到错误,但不明白为什么。

最佳答案

来自 MSDN 案例陈述

Returns the highest precedence type from the set of types in result_expressions and the optional else_result_expression.

INTvarchar 具有更高的优先级,因此所有 when 表达式都将隐式转换为 INT。了解更多关于数据类型优先级的信息 check here

为避免隐式整数转换,在when表达式中将INT转换为Varchar

SELECT CASE
WHEN Items.SerialNumber = -1 THEN Items.Aux1
ELSE Cast(Items.SerialNumber AS VARCHAR(100))
END AS 'CheckNo'

关于sql - 使用 SQL Case 语句获取转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35727415/

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