我试图通过从每个条目中删除前导空格来更新“名称”列的内容。在问题How to delete leading empty space in a SQL Database Table using MS SQL Server Managment Studio之后,我正在尝试运行以下内容:
UPDATE ReferenceHierarchy set Name = LTRIM(Name)
问题是,当我尝试运行它时,它说“名称”是一个无效的列。当我查看“名称”的代码完成选项时,它会看到三个字段ID,ParentID和Sequence。有趣的是,这些是三个非NVarChar字段。
可能是什么问题?我该如何解决?
答案 0 :(得分:0)
LTRIM仅删除前导的NORMAL空格。在您的情况下,它可能是Tab空间。
尝试使用TAB SPACE
UPDATE ReferenceHierarchy set Name = LTRIM(REPLACE(Name,(CHAR(9)),''))
如果您的空格字符不是TAB Space和Normal空格,那么它可能是非Unicode字符 然后试试这个
UPDATE REFERENCEHIERARCHY SET NAME = TRIM(LTRIM(CASE WHEN NAME NOT LIKE '[A-ZA-Z0-9]%'
THEN STUFF(NAME, 1, 1, ' ')ELSE NAME END))
答案 1 :(得分:0)