我正在开发一个非常简单的SSIS包:运行存储过程将数据从变量表直接导出到平面文件目的地.最初,变量表中的每一列被定义为varchar(max)
,到目前为止工作正常.为了提高性能,我决定对变量表应用约束,这与varchar(max)不兼容,我必须为它分配一定数量,例如varchar(10)
.在此更改后,此SSIS遭遇了一系列错误:
Error: 0xC0202009 at ESP AL Extract, OLE DB Source [835]: An OLE DB error has
occurred. Error code: 0x80040E21.
An OLE DB record is available. Source: "Microsoft SQL Native Client"
Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated
errors. Check each OLE DB status value, if available. No work was done.".
Error: 0xC0208265 at ESP AL Extract, OLE DB Source [835]: Failed to retrieve
long data for column "SR_RequestID".
Error: 0xC020901C at ESP AL Extract, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试对多个值使用T-SQL LIKE.经过我的研究,最简单的方法似乎是:
SELECT Column1
FROM Table_1
WHERE Column1 LIKE '[A,B,C]%'
Run Code Online (Sandbox Code Playgroud)
所以我可以期望输出看起来像A1,B2,C3 ......
我的问题是我的场景的元素(A,B,C)格式为"X/Y/Z" - 是的,包含斜杠!斜杠将被视为分隔符 - 与逗号相同.例如,我想选择纽约,东京和伦敦的任何地方,所以我写道:
WHERE Location LIKE '[US/New York, Japan/Tokyo, UK/London]%'
Run Code Online (Sandbox Code Playgroud)
但它确实如此
WHERE Location LIKE '[US,New York, Japan, Tokyo, UK, London]%'
Run Code Online (Sandbox Code Playgroud)
它将返回US/LA/CBD或东京/塔...
任何人都可以点亮我的方式如何在LIKE条款的方括号内逃避斜线?提前谢谢了.
这是示例表:
DECLARE @temp TABLE (Location NVARCHAR(50))
INSERT INTO @temp (Location ) VALUES ('US/New York/A')
INSERT INTO @temp (Location ) VALUES('New York/B')
INSERT INTO @temp (Location ) VALUES ('Japan/Tokyo/C')
INSERT INTO @temp (Location ) VALUES ('Tokyo/D')
INSERT INTO @temp (Location ) VALUES ('UK/London/E')
INSERT INTO …
Run Code Online (Sandbox Code Playgroud)