我知道你可以截断表或表变量,但有没有办法也截断一个变量?SQL Server变量截断
DECLARE @HiddenMe NVARCHAR(MAX)
SET @HiddenMe = (select XYZ.abc)
If LEN(@HiddenME) >= 1800000 Then would like to truncate @HiddenMe .
请让我知道。 FYI,我正在使用sql 2008
我知道你可以截断表或表变量,但有没有办法也截断一个变量?SQL Server变量截断
DECLARE @HiddenMe NVARCHAR(MAX)
SET @HiddenMe = (select XYZ.abc)
If LEN(@HiddenME) >= 1800000 Then would like to truncate @HiddenMe .
请让我知道。 FYI,我正在使用sql 2008
通过截断,我假设你的意思是截断所有数据过去某个点,而不是删除所有数据(如表截断)。这应该工作。
SET @HiddenMe=SUBSTRING(@HiddenMe,1,1800000)
这就是我想要的。谢谢! – user1681514
您可以使用LEFT()
:
set @HiddenME = left(@HiddenME, 1800000)
所以,你的脚本会是这样:
DECLARE @HiddenMe NVARCHAR(MAX)
SET @HiddenMe = 'lets test a longish string to trim after a certain number of characters'
if LEN(@HiddenME) >= 1800000
set @HiddenME = left(@HiddenME, 1800000)
你能对你的意思是'TRUNCATE'阐述什么在这种情况下? (顺便说一句,你**不能**截断表变量。 –