嗨,我正在尝试在SQL中创建一个过程,将一串零添加到字符串中,以完成长度为18个字符的操作,例如:
0446793932' ====> '000000000446793932
这个过程会在更新命令中进行,
UPDATE Table SET variable = prototype_procedure('0446793932') WHERE .......
我对SQL或过程不太了解,如果有人能帮助我理解的话,我会很感激的,
发布于 2014-06-23 13:38:14
您可以使用复制功能来实现您想要的结果。
http://msdn.microsoft.com/en-us/library/ms174383.aspx
DECLARE @t NVARCHAR(10) = N'0446793932'
SELECT @t, REPLICATE(N'0', 18 - LEN(@t)) + @t 发布于 2014-06-23 13:42:18
根据您在SQL中使用的语言的不同,最好的方法是在将数据发送到数据库之前将这些字符添加到字符串中,这样您就不会有破坏表的风险。
例如,我将在php中使用类似的内容:
$myvar = "123456";
$myvarLength = strlen($myvar);
if($myvarLength < 12){
while{$myvarLength != 12){
$myvar = "0".$myvar;
$myvarlength = strlen($myvar);
}
}这应该能帮你完成任务
https://stackoverflow.com/questions/24367368
复制相似问题