gpt4 book ai didi

sql - 将 ISNUMERIC() 与 sql_variant SQL Server 一起使用

转载 作者:行者123 更新时间:2023-12-02 08:41:25 25 4
gpt4 key购买 nike

如何将 ISNUMERIC() 函数与 sql_variant 数据类型一起使用?

以下代码无效

DECLARE @x sql_variant 
SET @x = 3
IF ISNUMERIC(@x) = 1
SELECT 'Numeric'
ELSE
SELECT ' NOT'

错误:

Msg 8116, Level 16, State 1, Line 4
Argument data type sql_variant is invalid for argument 1 of isnumeric function.

但这行得通

IF ISNUMERIC(CAST(@x AS INT)) = 1 

有没有什么办法可以不用 CAST()

在谷歌上没有找到关于这个问题的任何有用的东西谢谢,我正在使用SQL 服务器 2008 R2

最佳答案

如果您想知道底层数据类型 是否为数字,您可以使用SQL_Variant_Property。找出答案;

DECLARE @x sql_variant 
SET @x = 3.2

SELECT CASE
WHEN SQL_Variant_Property(@x, 'Precision') = 0
THEN 'NO'
ELSE 'YES'
END

关于sql - 将 ISNUMERIC() 与 sql_variant SQL Server 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16199234/

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