如何在SQL视图中更改列类型

时间:2013-01-16 09:52:19

标签: sql sql-server sql-server-2008

听起来像是一个愚蠢的问题,但这是我的情况:

我有一个带整数类型字段的表(名称为PartnerID)。 我需要在这个表上创建一个视图,并将前导零添加(实际替换)到整数字段。

字段示例(PartnerID) 11235 11567 11567 22789 22657 22456 33567

应该(在视图中): 00235 00567 00567 00789 00657 00456 33567

因为那不可能是我的选择吗?

编辑:我没有添加零替换。

以下是视图中字段PartnerID的当前公式,但这只是忽略前导零。我想在我的视图中根据这个公式得到前导零。

CASE WHEN (LEN(PartnerID) = 5 AND (PartnerID LIKE '11%' OR
                      PartnerID LIKE '22%')) THEN stuff(PartnerID, 1, 2, '00') ELSE PartnerId END AS PartnerID 

此致

2 个答案:

答案 0 :(得分:1)

尝试将Integer PartnerId转换为字符串,例如:

CASE WHEN (LEN(PartnerID) = 5 AND (PartnerID LIKE '11%' OR
                      PartnerID LIKE '22%')) THEN stuff(PartnerID, 1, 2, '00') ELSE CONVERT(VARCHAR(5), PartnerId) END AS PartnerID

答案 1 :(得分:0)

是什么让你认为这是不可能的?

这样的事情不会起作用

SELECT RIGHT('0000'+ CONVERT(VARCHAR,IntegerColumn), 5) FROM YourTable