gpt4 book ai didi

sql - 在 where 子句中运行返回 boolean 值的 SQL 用户定义函数

转载 作者:行者123 更新时间:2023-12-03 13:25:50 25 4
gpt4 key购买 nike

希望这看起来不是太简单。我已经查过了,但我不太擅长 SQL 用户定义的函数及其使用,所以我不确定发生了什么。谁想告诉我为什么我收到错误的几点:

An expression of non-boolean type specified in a context where a condition is expected, near ')'.



为了这:
UPDATE LMI_Contact
SET Phone = NULL
WHERE dbo.LMI_IsSingleCharacterRepeated(Phone, '0')

可以使用以下方法创建函数:
-- ***this will also find NULL and empty string values***
CREATE FUNCTION LMI_IsSingleCharacterRepeated (@string varchar(max), @char char(1))
RETURNS bit
AS
BEGIN
DECLARE @index int
DECLARE @len int
DECLARE @currentChar char(1)
SET @index = 1
SET @len= LEN(@string)

WHILE @index <= @len
BEGIN
SET @currentChar = SUBSTRING(@string, @index, 1)
IF @currentChar = @char
SET @index= @index+ 1
ELSE
RETURN 0
END
RETURN 1
END;
GO

此函数用于检查字符串是否为任何指定的单个字符,重复。希望有人觉得它有用!

最佳答案

即使返回类型是 bit,您也必须对函数使用比较运算符。 .

UPDATE LMI_Contact
SET Phone = NULL
WHERE dbo.LMI_IsSingleCharacterRepeated(Phone, '0') = 1

关于sql - 在 where 子句中运行返回 boolean 值的 SQL 用户定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16850627/

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