3

免责声明: 我仍在学习 SQL,所以如果我的问题是业余的,或者是一个非常简单的答案,我深表歉意。我没有受过正规培训。我在自学。

标题可能有点混乱,因为我不完全确定如何用这个来形容标题。

基本上,我想将当前表中的列转换VARCHARINT. 该列仅包含格式如下的数字:

00001
00005
02150

这些本质上是ID,将附加到Name column稍后用于其他目的。如果有必要这样做,我还想知道如何将最终结果转换INTVARCHAR附加部分。

这是我现在拥有的:

选择转换(INT,LocNo)

它返回我期望的结果,但我认为我需要以某种方式更新现有的LocNo column或以其他方式将其放入新列中以供前向使用。

我应该怎么做才能实现这一目标?

4

2 回答 2

6

试试这个

UPDATE TableName
SET LocNo =  CONVERT(INT, LocNo)

如果您想要新列,请将新列添加到表中,然后进行更新

ALTER TABLE TableName
ADD NewCol Int Null

UPDATE TableName
SET NewCol =  CONVERT(INT, LocNo)

选择并附加到 varchar 时,您可以执行

SELECT CAST(LocNO As VARCHAR) + Name as NameAppended From TableName

如果你想0's回来LocNo/newCol

 SELECT right('00000' + CAST(LocNO As VARCHAR),0) + Name as NameAppended 
 From TableName
于 2013-01-09T21:04:08.020 回答
1
UPDATE YourTable
SET LocNo =  CONVERT(INT, LocNo)
于 2013-01-09T20:55:48.897 回答