gpt4 book ai didi

sql - 仅当变量是数值时才分配变量

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

有可能做这样的事情吗?

declare @ShouldBeNumber as varchar(10)
set @ShouldBeNumber = 1

declare @Number as varchar(10)

select @Number = case when ISNUMERIC(@ShouldBeNumber) then @Number = @ShouldBeNumber else @Number = '' end

即只分配变量如果它是数字。我花了最后一个小时在谷歌上搜索这个,但没有找到任何东西。

例如,我看过这里: How to check if a variable has a value in a SQL Server 2008 stored procedure

最佳答案

我想你只是想要:

select @Number = (case when ISNUMERIC(@ShouldBeNumber) = 1
then @ShouldBeNumber else @Number
end)

我假设 isnumeric()做您想做的事,尽管根据您的需要,它可能会有一些不需要的行为(例如,接受负数、小数和指数表示法)。 else条款是无操作的;它只是将现有值分配回 @Number .

关于sql - 仅当变量是数值时才分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61252445/

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