SQLSRV更新查询删除空格
使用MS-SQL,PHP和JSON的组合,我在我的网页一列名为VendorAddress输出到浏览器这样的:SQLSRV更新查询删除空格
1111 THAT WAY DRIVE �TORRANCE
那个奇怪的黑钻带有问号。
我已将范围缩小到某些用户正在从Excel复制和粘贴的事实,并且街道和城市之间还有一个额外的空间。我可以防止这种情况在将来发生。这是已经保存在桌子上的那些对我造成问题的人。
我发现MS-SQL数据库中有300多条记录有这个额外的空间。
我需要做的是编写一个查询,通过删除这个额外的空间来更新列。
UPDATE [main].[dbo].[suppliers] SET [VendorAddress] = '1111 THAT WAY DRIVE TORRANCE' WHERE [PartnerCode] = '00011144';
这是我所用,去备案记录有黑钻(336个)每个PartnerCode查询。我拒绝为此记录备案。我需要编写一个能够帮助我的查询。
我不知道如何去做这件事。我在网上找到的所有东西都告诉我使用TRIM,但它仅适用于尾随空格。这些不是尾随空格。他们在字符串内。
请帮我写一个查看整个表并从字符串中删除不必要的空格的查询。
预先感谢您。
**** ****编辑
特殊字符无法在数据库本身看到的。你唯一一次看到它是在PHP输出到浏览器的时候。
基本上,在表内,该字段包含一个额外的空间。表中无法看到黑钻石。
我希望这可以消除任何混淆。
好像你应该能够只是雇工替换功能:
UPDATE [main].[dbo].[suppliers]
SET [VendorAddress] = REPLACE(VendorAddress, '�', '')
此命令似乎工作:
SELECT REPLACE('1111 THAT WAY DRIVE �TORRANCE', '�', '')
道歉 - 我刚刚更新了我的问题。黑色钻石在桌子内不可见。 –
对我来说,它看起来可能显示为“?”。这可能仍然有效。 –
用单个空格替换双空格使用以下命令:
UPDATE [main].[dbo].[suppliers]
SET [VendorAddress] = replace([VendorAddress], ' ',' ')
WHERE [VendorAddress] LIKE '% %'
重复它直到你得到0行受到影响。
*编辑*
否则,您可以执行这个查询找出字符的代码?
select distinct cast([VendorAddress] AS varbinary) FROM [main].[dbo].[suppliers] WHERE [VendorAddress] LIKE '1111 THAT WAY DRIVE%TORRANCE'
你试过更新它吗?如果复制/粘贴不起作用,以下是捕获字形的一些代码。
DECLARE @Glyph CHAR(1);
SELECT @Glyph = SUBSTRING([VendorAddress]
, -- Put numberic position of Glyph in string here
,1)
FROM [main].[dbo].[suppliers]
WHERE [PartnerCode] = '00011144'; -- Record with erroneous Glyph
SELECT @Glyph AS [Questionable Character]
, [VendorAddress] AS [Before]
, REPLACE([VendorAddress],@Glyph,'') AS [After]
WHERE [PartnerCode] = '00011144'; -- Use same record as above.
/* Uncomment out this bit when you know it works...
UPDATE [main].[dbo].[suppliers]
SET [VendorAddress] = REPLACE([VendorAddress],@Glyph,'')
WHERE [VendorAddress] LIKE '%' + @Glyph + '%';
*/
您的表中是否有'336'记录,或者只有'336'记录的字符不正确?如果你知道错误的字符,你应该可以使用'replace'。 https://msdn.microsoft.com/en-us/library/ms186862.aspx – chris85
为什么不'更新..设置vendoraddress =替换(vendoraddress,' ','')'。无需做个人记录。只需在所有记录中将轨道上的角色核武。 –
@MarcB - 我刚刚编辑了我的问题。黑钻在桌子本身是不可见的。 –