我正在尝试插入像Juan Carlos
这样的复杂名称,但我想删除Juan
和Carlos
之间的所有空格。让我们使用#
作为空间来更好地查看空间。
插入时我已经尝试了RTRIM(LTRIM(@Name))
但似乎没有用,我尝试插入###Jua#Car###
但是当我选择带DATALENGTH([Name])
的字段时,我得到了{{1}的长度}。
当我看到该字符串时,我可以计算14
个字符,而不是13
。
1。我无法计算的角色是什么?
的 2。如果LTRIM和RTRIM不起作用,我如何才能14
删除所有空格?
使用更多信息进行更新:
列数据类型为nvarchar(100)
我刚试过REPLACE([姓名],'''')而我得到的长度是12
答案 0 :(得分:1)
您可以使用稍微复杂的方法修剪非字母数字字符:
length
答案 1 :(得分:0)
尝试在下面使用,单独选择FirstName,LastName并用空格连接它们:
DECLARE @FullName VARCHAR(MAX) = ' Juan Carlos '
SELECT LEN(SUBSTRING(LTRIM(RTRIM(@FullName)), 1, CHARINDEX(' ', LTRIM(RTRIM(@FullName))) - 1) + ' ' +
REVERSE(SUBSTRING(REVERSE(LTRIM(RTRIM(@FullName))), 1,
CHARINDEX(' ', REVERSE(LTRIM(RTRIM(@FullName)))) - 1) )) AS [Len]
返回len = 11