我正在将我的数据库转移到MS SQL Server 2008 R2,当我试图保存长长度字符串然后它给我错误的最大长度,而我已经将该列的数据类型设置为"文本"后我替换它使用"varchar(max)"但没有解决方案.
请帮我解决一下如何解决这个问题.我正在执行以下查询:
update hotel
set hotel_policy =
"Overview of Park Central New York - New York
This hotel is making improvements.
The property is undergoing renovations. The following areas are affected:
Bar/lounge
Business center
Select guestrooms
Every effort will be made to minimize noise and disturbance.
Occupying a Beaux Arts building dating to 1927, Park Central New York Hotel is within a block of famed concert venue Carnegie Hall and within a 5-minute walk of Manhattan’s world-renowned Broadway theater district. Prefer the great outdoors to the Great White Way? Central Park is just 3 blocks from the hotel. There, you can rent a rowboat at the lake, play a game of tennis, or visit the Central Park Zoo. The international boutiques and flagship department stores of Fifth Avenue start within a 10-minute walk of the hotel. For travel to sights farther afield, there are 7 subway lines located within 3 blocks of the Park Central.
The hotel has a snack bar for guests' convenience, and coffee and tea in the lobby.
Retreat to your guestroom and sink into a bed with a pillowtop mattress and down comforter and pillows. Need to check email or finish up some work? You’ll find a desk with an ergonomic chair and wireless high-speed Internet access (surcharge). Unwind with a video game (surcharge) on the flat-panel HDTV."
where hotel_id = 1
Run Code Online (Sandbox Code Playgroud)
我搜索了很多,但我找到的解决方案对我没用.
谢谢!
Bog*_*ean 17
根据ANSI SQL标准,双引号被使用(如果必要)的对象标识符(例如,UPDATE "hotel" ...)而不是作为字符串分隔符("Overview of Park Central ...").当SQL Server有这种行为QUOTED_IDENTIFIER的ON.
编辑1: 使用单引号和双引号作为对象标识符(包括列别名)的分隔符如下所述:
Delimiter Delimiter
for for
SET QUOTED_IDENTIFIER Object ID Alias ID StringDelimiter
ON " or [] " or ' or [] '
OFF [] " or ' or [] " or '
Run Code Online (Sandbox Code Playgroud)
ON然后双引号可用作对象标识符(包括列别名)的分隔符,单引号用作字符串文字和/或列别名(SELECT Column1 AS 'Alias1' ....)标识符的分隔符.OFF然后双引号可以用作列别名(SELECT Column1 AS "Alias1" ...)的分隔符和字符串文字(SELECT "String1" AS Alias1 ...)的分隔符.单引号可用作字符串分隔符,也可用作列别名(SELECT Column1 ASAlias1 ...)的分隔符.使用单引号代替:
update hotel
set hotel_policy = 'Overview of Park Central ...'
where hotel_id = 1
Run Code Online (Sandbox Code Playgroud)
如果您不想将双引号更改为单引号,请在脚本开头添加以下两行
SET QUOTED_IDENTIFIER OFF
SET ANSI_NULLS ON
Run Code Online (Sandbox Code Playgroud)