cast转化字符串时,如果没有声明varchar的长度,则会自动截断30个字符后面的字符
declare @aa varchar(800), @bb varchar(800)
set @aa = 'MaaaaaaaaaaaaaaaaaaaM SDaaaaaaaaaaaaaaaaaaaaaaaaB'
set @bb = cast(@aa as varchar)
print @bb
结果:
MaaaaaaaaaaaaaaaaaaaM SDaaaaaa
需要
declare @aa varchar(800), @bb varchar(800)
set @aa = 'MaaaaaaaaaaaaaaaaaaaM SDaaaaaaaaaaaaaaaaaaaaaaaaB'
set @bb = cast(@aa as varchar(800))
print @bb
结果:
MaaaaaaaaaaaaaaaaaaaM SDaaaaaaaaaaaaaaaaaaaaaaaaB
本文介绍了在使用SQL的CAST函数将一个较长的VARCHAR变量转换为未指定长度的VARCHAR时,超出默认长度的部分会被自动截断的问题,并展示了如何通过明确指定VARCHAR的长度来避免这一问题。
801

被折叠的 条评论
为什么被折叠?



