我有一个名为IP的列,其中包含数据 10.001.99.108
我想运行一个脚本来改变它看起来像 10.1.99.108
我以前用过这个:
update TABLE set IP = substring(IP, patindex('%[^0]%',IP), 10)
Run Code Online (Sandbox Code Playgroud)
但这会在乞讨时删除前导零.
我不知道如何改变它来做第二段.
您可以使用parsename()和删除前导零的方法.以下通过强制转换为整数然后返回字符串来删除前导零:
select (cast(cast(parsename(ip, 4) as int) as varchar(255)) +
cast(cast(parsename(ip, 3) as int) as varchar(255)) +
cast(cast(parsename(ip, 2) as int) as varchar(255)) +
cast(cast(parsename(ip, 1) as int) as varchar(255))
)
Run Code Online (Sandbox Code Playgroud)