将布尔值传递给SQL SERVER中函数中的if语句 [英] Passing a boolean value to an if statement in a function in SQL SERVER
本文介绍了将布尔值传递给SQL SERVER中函数中的if语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
HI全部,
我在将布尔值传递给函数中的if条件时遇到问题。
HI All,
I am facing a problem in passing the boolean value to an if condition in a function.
CREATE FUNCTION [dbo].[CAN_GetEMBULangugeName] (@LanguageName NVARCHAR(MAX), @IsAdmin BIT)
RETURNS NVARCHAR(MAX)
AS
BEGIN
-- Declare the return variable here
DECLARE @LanName NVARCHAR(MAX)
DECLARE @LanguageNameLength INT
DECLARE @RemainingPartString NVARCHAR(MAX)
SELECT @LanguageNameLength = LEN(@LanguageName)
IF(@IsAdmin)
BEGIN
IF SUBSTRING(@LanguageName, 1, 4) = 'EMBU'
BEGIN
SET @RemainingPartString = SUBSTRING(@LanguageName, 6, @LanguageNameLength - 5)
SET @LanguageName = REPLACE(@LanguageName, 'EMBU ', '')
SET @LanguageName = @RemainingPartString + ' (other countries)'
END
END
ELSE
BEGIN
IF SUBSTRING(@LanguageName, 1, 4) = 'EMBU'
BEGIN
SET @LanguageName = REPLACE(@LanguageName, 'EMBU ', '')
END
END
RETURN @LanguageName
END
我在IF(@IsAdmin)收到错误。
错误如下。
I am getting the error at IF(@IsAdmin).
The error are as follows.
Msg 102, Level 15, State 1, Procedure CAN_GetEMBULangugeName, Line 20
Incorrect syntax near ''TRUE''.
Msg 156, Level 15, State 1, Procedure CAN_GetEMBULangugeName, Line 29
Incorrect syntax near the keyword ''ELSE''.
请指导我。
谢谢
Please guide me.
Thanks
推荐答案
它应该是
it should be
IF(@IsAdmin = 0) --0 indicates false and 1 indicates true
快乐编码!
:)
Happy Coding!
:)
这篇关于将布尔值传递给SQL SERVER中函数中的if语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文