相关疑难解决方法(0)

关于'CASE'转换失败

在使用' CASE'我遇到的问题,我从来没有听说过.
问题是这样的:我使用' CASE'statement in' SELECT'子句作为字段.调用具有int数据类型的列时,它是成功的; 但是,在调用varchar或datetime时,它不成功.
在错误结果中,它说我标记了临时字段,包括' CASE'语句int,但不是这样.请帮忙...

'STORED PROCEDURE'内容

CREATE PROC spRegistry_PersonsGetField
@ID int,
@Field varchar(100)
AS
SELECT CASE @Field 
WHEN 'Name' THEN Name
WHEN 'Surname' THEN Surname
WHEN 'Username' THEN Username
WHEN 'Password' THEN Password
WHEN 'Status' THEN dbo.fnStatus(Status)
WHEN 'EMail' THEN EMail
WHEN 'Tel' THEN dbo.fnIsEmpty(Tel)
WHEN 'Address' THEN dbo.fnIsEmpty(Address)
WHEN 'City' THEN dbo.fnIsEmpty(City)
WHEN 'BirthDate' THEN dbo.fnDate(BirthDate)
WHEN 'Gender' THEN dbo.fnGender(Gender)
WHEN 'Lang' THEN Lang
ELSE NULL
END
AS …
Run Code Online (Sandbox Code Playgroud)

sql-server

2
推荐指数
1
解决办法
2493
查看次数

标签 统计

sql-server ×1