首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确地修剪SQL语句中的值

如何正确地修剪SQL语句中的值
EN

Stack Overflow用户
提问于 2012-05-01 16:02:05
回答 1查看 397关注 0票数 0

可能重复:

Most efficient T-SQL way to pad a varchar on the left to a certain length?

我在用sql语句进行语法修整时遇到了一些问题。下面是我在sql语句中不幸失败的语句:

代码语言:javascript
复制
 SqlCommand command = new SqlCommand("SELECT PID = TRIM([PID] & Right("00000000" & TRIM ([PID]),8) & ",END"), FROM dbo.MDRMASTER WHERE PARENTPID = @PARENTPID",con);

正如您所看到的,我已经在各地进行了实验,但是在我屠杀SQL语句之前,我返回了以下值:

代码语言:javascript
复制
 123456123456123456

我想还这个:

代码语言:javascript
复制
 00123456,00123456,00123456,END

那么,用逗号分隔值、在语句末尾添加一个单词以及将值排序为特定格式的正确语法是什么。例如,数字都应该是8位数。无论返回是00000123还是01234567。任何帮助或指向正确方向的点都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2012-05-01 17:01:23

用于此操作的SQL为

代码语言:javascript
复制
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()对象传递这一切,但我不明白为什么如果将用分号分隔的命令放入一个字符串中,它就不能工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10400459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档