我花了很多时间试图找出这一点......看着其他几十个答案。SQL如何删除所有的ASCII字符(空白字段输入后空白)
我在SQL Server中有一个表类型为Char(32) NULL
的表。表格栏中的所有项目只有char(9)
,但其余位置有空白(运行select ascII(right(myField, 1))
时有32个)。
我已经尝试了更换,尝试更新的领域从不是Temptable试图从tempTbl删除和更新.....每次我选择...领域仍然30长。
有没有办法去除所有多余的空格?或者这只是CHAR
字段总是工作的方式?
我曾尝试:
UPDATE table
SET myfield = rtrim(replace(myField , char(160), char(32)))
UPDATE mytable
SET myField = REPLACE(RTRIM(LTRIM(myField)), CHAR(32), '')
由于数据类型是CHAR(32),因此值将始终为32个字符。这将右键填充空格值直到达到32位。如果不想填充空格,应考虑使用varchar(32)。 –