当我运行它告诉我:关键字'SELECT'附近的语法不正确。 但我需要这个传递给其余脚本 值一露苗头用于搜索 - 这是唯一的块修改谁需要一些抛光如何使用substing返回set变量?
BEGIN
DECLARE @ResultsTable TABLE (ColumnName nvarchar(200), ColumnValue nvarchar(100))
DECLARE @ColumnName nvarchar(128),
@SearchStr2 nvarchar(110),
@TableName nvarchar(256),
@TableName2 nvarchar(256)
DECLARE @PolicyPrefix nvarchar(5),
@PolicyID nvarchar(10),
@PolicyEffDate date,
@Policy nvarchar(10), --needless ,
SET @TableName = ' '
SET @PolicyPrefix = SELECT SUBSTRING(Policy, 1, 5)
FROM [dbo].[DWXP050]
WHERE intcov LIKE '%epl%' --'CMPMO' ------notices it only the policy letter part from the search result
SET @PolicyID = SELECT SUBSTRING(Policy,6,len(Policy)-5)
FROM [dbo].[DWXP050]
WHERE intcov LIKE '%epl%' ---'08929' ------notices it only the policy number part from the search result
SET @PolicyEffDate = SELECT cast(cast(EFFDTE as varchar)as date)
FROM [dbo].[DWXP050]
WHERE intcov LIKE '%epl%' ----'2009-11-01' ------notices it has dashes from the search result
我还会添加'TOP 1',因为它是从表中选择的,因此返回多个值的查询不会出错。 – 2015-03-31 17:25:46
其名称: 必须声明标量变量“@PolicyPrefix”。 必须声明标量变量“@PolicyEffDate”。 必须声明标量变量“@PolicyPrefix”。 – MrSQLDBA 2015-03-31 17:27:45
是的,你需要声明你的变量。我假设你已经完成了任何你从中得到的程序。这里的代码示例只是修复了您在此处发布的代码段。 – Jim 2015-03-31 17:28:50