SQL Server Note

文字列IPをゼロパディング

ゼロサプレスされたドット区切り(0.0.0.0)のIPアドレスをゼロパディングしたドット区切り(000.000.000.000)のIPアドレスに変換する方法です。

SELECT NAME,IP, 
CASE ISNUMERIC(REPLACE(IP,'.','')) WHEN 1 THEN
RIGHT('00' + PARSENAME(IP, 4), 3) + '.' + 
RIGHT('00' + PARSENAME(IP, 3), 3) + '.' + 
RIGHT('00' + PARSENAME(IP, 2), 3) + '.' + 
RIGHT('00' + PARSENAME(IP, 1), 3)
ELSE NULL END
AS CONVIP
FROM PC
NAMEIPIPCONV
CL-BADABC.DEF.GHI.JKLNULL
CL-NONE192.168NULL
CL-SAITO192.168.1.102192.168.001.102
CL-SHARE192.168.1.105192.168.001.105
CL-UEDANULLNULL
CL-YOSHIDA192.168.1.104192.168.001.104
SV-FILE192.168.1.3192.168.001.003
SV-MAIL192.168.1.18192.168.001.018
SV-WEB192.168.1.05192.168.001.005
Copyright © 2006 Hikijishi All Rights Reserved.
[] [sql][0.00151300430297852]