我使用的是 SQL Server 2012。
我需要更新一列以仅获取第一个点之前的单词。 代码具有 nvarchar 作为数据类型。
示例 - Table_A
Id Code
1 TXT.yut.get
2 yep.no
3 gT.YU.iop
4 gip
我需要在更新后得到这个
Id Code
1 txt
2 yep
3 gt
4 gip
我已经尝试过使用 T-SQL:
Update table_A
SET Code=lower(SUBSTRING(Code, 1, CHARINDEX('.',Code) - 1))
我得到这个错误:
Invalid length parameter passed to the LEFT or SUBSTRING function.
它似乎与“隐形”空间有关?如何克服它?谢谢。
最佳答案
包含 WHERE
子句:
UPDATE table_A
SET Code = LOWER(SUBSTRING(Code, 1, CHARINDEX('.',Code) - 1))
WHERE Code like '%.%';
关于sql - 获取第一个分隔符之前的第一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52852660/