可能重复:
Most efficient T-SQL way to pad a varchar on the left to a certain length?
我在用sql语句进行语法修整时遇到了一些问题。下面是我在sql语句中不幸失败的语句:
SqlCommand command = new SqlCommand("SELECT PID = TRIM([PID] & Right("00000000" & TRIM ([PID]),8) & ",END"), FROM dbo.MDRMASTER WHERE PARENTPID = @PARENTPID",con);正如您所看到的,我已经在各地进行了实验,但是在我屠杀SQL语句之前,我返回了以下值:
123456123456123456我想还这个:
00123456,00123456,00123456,END那么,用逗号分隔值、在语句末尾添加一个单词以及将值排序为特定格式的正确语法是什么。例如,数字都应该是8位数。无论返回是00000123还是01234567。任何帮助或指向正确方向的点都将不胜感激。
发布于 2012-05-01 17:01:23
用于此操作的SQL为
DECLARE @pidList VARCHAR(2000);
SELECT @pidList = COALESCE(@pidList + ',', '') + REPLICATE('0', 8 - DATALENGTH(MDRMASTER.PID)) + MDRMASTER.PID
FROM dbo.MDRMASTER
WHERE MDRMASTER.PARENTPID = @PARENTPID;
SELECT @pidList + ',END' AS PID;不幸的是,我无法测试在一个字符串中通过SqlCommand()对象传递这一切,但我不明白为什么如果将用分号分隔的命令放入一个字符串中,它就不能工作。
https://stackoverflow.com/questions/10400459
复制相似问题