Declare @string nvarchar(20)
set @string=(select [Bill Period] from [sqldata].[dbo].[jun1])
select substring (@string,1,3)
我从整个专栏[比尔期]得到了单一价值,我想要从[票据期间]到@string的所有记录,但它不起作用。
如何增加表INDEX并获取记录
declare @INDEX int
set @INDEX=1
while(@INDEX<3)
begin
Declare @string nvarchar(20)
set @string=(select [Bill Period] from [sqldata].[dbo].[jun1])
select substring (@string,1,3)
set @INDEX=@INDEX+1
end
答案 0 :(得分:2)
如果[sqldata]是您的数据库名称,那么正确的顺序是:
select [Bill Period] from [sqldata].[dbo].[jun1]
答案 1 :(得分:2)
您不能在select语句中使用列:
服用:
[dbo].[sqldata].[jun1]
dbo
是架构sqldata
就是表格 - 这是您应该从jun1
我不知道这是什么。尝试:
Select Declare @string nvarchar(20)
set @string=(select [Bill Period] from [dbo].[sqldata])
select substring (@string,1,3)
或更好地解释您的问题/架构。
答案 2 :(得分:1)
它应该像
[sqldata].[dbo].[jun1]
^database ^Schema ^Tablename
写入查询:
Declare @string nvarchar(20)
set @string=(select [Bill Period] from [sqldata].[dbo].[jun1])
select substring (@string,1,3)
答案 3 :(得分:1)
请确保您使用的是正确的server_name.database_name.schema_name.object_name
。您不需要使用所有这些多部分标识符,但一般的想法是您应该查看正确的位置。
此外,您应该在将其分配到变量之前选择TOP 1记录,否则一旦您在表格中获得多条记录就会中断
Declare @String nvarchar(20)
Select Top 1 @String = [Bill Period]
From jun1 -- on correct database
Order by yourColumn
Select substring (@string,1,3)
答案 4 :(得分:0)
您的查询中存在错误。确保你以正确的方式调用它。
Luv回答 -
[sqldata].[dbo].[jun1]
^database ^Schema ^Tablename
这是SQL服务器支持的格式。