我在(MS)SQL数据库中有一个表,它有一个Id列(identity,int)和一个Name列(varchar(250))。 但是,name列中的值包含(相当随机的)前导和尾随空格,因为我认为它们是从“其他内容”剪切和粘贴的(不知道是什么!)。
在T-SQL中是否可以执行以下操作:
update MyTable set Name = trim(name)
并让它更新所有带有修剪值的Name列?
答案 0 :(得分:58)
MS SQL没有修剪功能。你需要一起使用rTrim和lTrim。
update MyTable set Name = lTrim(rTrim(name))
答案 1 :(得分:9)
尝试
update MyTable set Name = LTRIM(RTRIM((name))
答案 2 :(得分:3)
答案 3 :(得分:2)
在SQL Server中,只有RTRIM
和LTRIM
,但您可以同时使用它们:
update MyTable set Name = RTRIM(LTRIM((name))
答案 4 :(得分:1)
试试这个:
<script type="text/ng-template" id="custom-template.html">
<!-- your custom template should be here -->
</script>
答案 5 :(得分:0)
不完全 - 没有TRIM()
功能可用,因此您必须使用RTRIM()
和LTRIM()
(分别为右侧和左侧修剪):
UPDATE MyTable set Name = rtrim(ltrim(name))
答案 6 :(得分:0)
SQL Server 2017 (14.x) 及更高版本有 TRIM() 函数,所以;
UPDATE MyTable set Name = TRIM(name)
会正常工作。或者在我的情况下,我也想在修剪后清空空字段。
UPDATE MyTable set Name = NULLIF(TRIM(name), '')
答案 7 :(得分:0)
如果您希望为空情况返回空字符串,请检查 isnull
UPDATE MyTable set Name = rtrim(ltrim(IsNull(name,'')))