gpt4 book ai didi

sql-server - 抛出错误的 T-SQL 函数

转载 作者:行者123 更新时间:2023-12-01 12:57:14 27 4
gpt4 key购买 nike

你好,我有一个函数,正在引入一个变量,它将带一个字母或一个数字,如果该变量是一个字母,它需要导致错误并返回 0,或者如果是一个数字,则返回 1。

在 T-SQL 中,我有一个过程最终会调用这个函数来检查是否是一个数字:

IF  dbo.VALIDNUMBER(@sTxpX) != 0 AND @sTxpX IS NOT NULL

变量@sTxpX持有一个值为“T”的值,所以我知道它需要从函数返回0,因为作为数字是无效的,但我没有得到正确的函数来构建它,我将不胜感激在这里帮忙。

CREATE FUNCTION DBO.VALIDNUMBER (@sTextStr VARCHAR(4000)) RETURNS  BIT AS
BEGIN
DECLARE @bValidNumberStr BIT = 1; DECLARE @nTest BIGINT;

SET @nTest = CAST(@sTextStr AS numeric(38, 10)) + 1;
RETURN @bValidNumberStr;

EXCEPTION
WHEN OTHERS THEN
SET @bValidNumberStr = 0;
RETURN @bValidNumberStr;
END;

最佳答案

试试这个功能:

CREATE function [dbo].[VALIDNUMBER]
(@strText VARCHAR(4000))
RETURNS BIT
AS
BEGIN
DECLARE @Return as bit
IF TRY_CAST(@strText AS NUMERIC(38,10)) IS NOT NULL BEGIN
SET @Return = 1
END ELSE BEGIN
SET @Return = 0
END

RETURN @Return

END

关于sql-server - 抛出错误的 T-SQL 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43899137/

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