这句SQL语句什么意思?

DECLARE @vcStateKZ VARCHAR(4) ,
@nowTime VARCHAR(2)
SELECT @vcStateKZ = vcState
FROM tStateKZ
WHERE vcYear = @year
AND vcBudgetType = @vcYsType
AND ISNULL(vcPJCode, '') = @vcPJCode
SET @nowTime = SUBSTRING(@vcStateKZ, 1, 1)

DECLARE @vcStateKZ VARCHAR(4) ,
@nowTime VARCHAR(2)
设置两个变量 @vcStateKZ 和 @nowTime

VARCHAR(4) ,是变量长度(4个字节长度)

SELECT @vcStateKZ = vcState
FROM tStateKZ
WHERE vcYear = @year
AND vcBudgetType = @vcYsType
AND ISNULL(vcPJCode, '') = @vcPJCode

是查找语句 比较基本

ISNULL(vcPJCode, '') 是 用 ‘’ 代替 null

SET @nowTime = SUBSTRING(@vcStateKZ, 1, 1)

set 是赋值 与select 差不多 SUBSTRING 是截取字符窜函数 截取(@vcStateKZ 从第一位开始截取 截取1位

还有什么不明白的么??追问

SELECT @vcStateKZ = vcState FROM tStateKZ
的意思是把检索到的 vcState的值赋给 @vcStateKZ吗?

追答

是的 但只能赋值一行

追问

是检索出的结果只能是一行数据吗?

追答

检测的结果是多行的 然后给变量赋值 先把第一行的值赋给变量 然后是第二行 直到最后一行
所以最后变量的值是结果集的最后一行

温馨提示:答案为网友推荐,仅供参考
相似回答