【发布时间】:2016-11-11 23:16:43
【问题描述】:
我需要创建一个 SQL Server 函数来检查输入字符串是否包含任何大写字符。如果是,那么它应该返回“OK”。如果没有,它应该返回“NOT OKAY”。
当执行以下语句时,它应该返回如下的预期值。
PRINT dbo.CheckStringOfUpperAlphaOK('abc') -- Expected: "NOT OK"
PRINT dbo.CheckStringOfUpperAlphaOK('ABC') -- Expected: "OK"
这是我尝试过的,但我不知道如上所述指定返回值。
CREATE FUNCTION CheckStringOfUpperAlphaOK (@String varchar(MAX))
RETURNS VARCHAR(6)
AS
BEGIN
Declare @KeepValues as varchar(50)
Set @KeepValues = '%[^ ][A-Z]%'
While PatIndex(@KeepValues collate Latin1_General_Bin, @Temp) > 0
Set @Temp = Stuff(@Temp, PatIndex(@KeepValues collate
Latin1_General_Bin, @Temp) + 1, 0, ' ')
RETURN @Temp
结束
【问题讨论】:
-
向我们展示您目前的努力!你被困在哪里了?您面临的问题是什么?
-
@Temp是什么?它没有在任何地方定义 - 既不是作为参数,也不是作为局部变量...... -
预期的返回值应该分配给@temp
标签: sql-server-2014 sql-function