select 字符串常量,如何突破长度限制?

I_am_a_java_CaiNiao 2011-04-18 12:03:05
大家好,我的mssql2000,select 一个字符串常量,如 select '12345',这个常量最多只有255个字符,如何才能突破这种限制呢?因为我要使用select field1 + 'abc'这种方式,而field1如果较长,如300个字符,那么select field1 + 'abc'的结果中,abc就不会出现。求教,谢谢~~
...全文
342 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ssp2009 的回复:]
引用楼主 i_am_a_java_cainiao 的回复:
大家好,我的mssql2000,select 一个字符串常量,如 select '12345',这个常量最多只有255个字符,如何才能突破这种限制呢?因为我要使用select field1 + 'abc'这种方式,而field1如果较长,如300个字符,那么select field1 + 'abc'的结果中,abc就不会出现。求教,谢谢……
[/Quote]
谢谢~
当field1长度超过255时,'abc'就出不来了,是不是要设置过?
快溜 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 i_am_a_java_cainiao 的回复:]
大家好,我的mssql2000,select 一个字符串常量,如 select '12345',这个常量最多只有255个字符,如何才能突破这种限制呢?因为我要使用select field1 + 'abc'这种方式,而field1如果较长,如300个字符,那么select field1 + 'abc'的结果中,abc就不会出现。求教,谢谢~~
[/Quote]
select field1 + 'abc' abc怎么会出不来呢?可以的吧
--小F-- 2011-04-18
  • 打赏
  • 举报
回复
VARCHAR可以 8000
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ap0405140 的回复:]
是查询分析器设置的问题?
以下又为何可以显示3000??

引用 5 楼 i_am_a_java_cainiao 的回复:
1、select 字段名,那么字段名就算有3000,也是可以全部显示的;
[/Quote]
个人理解是select '0123456789...'是数据存放于内存;
select 字段名,数据存放于硬盘
唐诗三百首 2011-04-18
  • 打赏
  • 举报
回复
是查询分析器设置的问题?
以下又为何可以显示3000??
[Quote=引用 5 楼 i_am_a_java_cainiao 的回复:]
1、select 字段名,那么字段名就算有3000,也是可以全部显示的;
[/Quote]
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ap0405140 的回复:]
引用 5 楼 i_am_a_java_cainiao 的回复:
3、select 字段名 + 'abc',情况如2。

可能与该字段的类型有关,请提供这个字段的定义?
[/Quote]
非常感谢,其实事实上一直没有问题,而是我查询分析器的问题,工具->选项->结果->每列最大字符数,我的默认是256,改这个就可以了。
PS:之前一直说的255,是我说错了,其实是256,没仔细数- -
多谢各位~
唐诗三百首 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 i_am_a_java_cainiao 的回复:]
3、select 字段名 + 'abc',情况如2。
[/Quote]
可能与该字段的类型有关,请提供这个字段的定义?
唐诗三百首 2011-04-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 i_am_a_java_cainiao 的回复:]
2、select '0123456789...',选出来后结果最多255个字符;
[/Quote]
测试过,可以的.

declare @s varchar(300)
select @s=REPLICATE('a',300)
select @s 'String',LEN(@s) 'Length'

-->
String Length
----------------------
aaaaa..... 300 --> 超过255
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cs_lb 的回复:]
SQL code

--你可以看看你拼接的字符串的长度
select LEN(field1 + 'abc')
[/Quote]
是的,长度我也看过,奇怪的是长度倒是对的,是加上去的。
具体情况是这样的:
1、select 字段名,那么字段名就算有3000,也是可以全部显示的;
2、select '0123456789...',选出来后结果最多255个字符;
3、select 字段名 + 'abc',情况如2。
cs_lb 2011-04-18
  • 打赏
  • 举报
回复

--你可以看看你拼接的字符串的长度
select LEN(field1 + 'abc')

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧