小编Ben*_*n S的帖子

Varchar(数字)导致SSIS失败

我正在开发一个非常简单的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)

varchar ssis

6
推荐指数
1
解决办法
1万
查看次数

T-SQL - 如何在LIKE子句中转义斜杠/方括号

我正在尝试对多个值使用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)

t-sql sql-server escaping slash sql-like

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

escaping ×1

slash ×1

sql-like ×1

sql-server ×1

ssis ×1

t-sql ×1

varchar ×1