声明: 我还在学习SQL,所以如果我的问题以业余爱好者的形式出现或者是一个非常简单的答案,我会道歉。我没有正式的训练。我在教自己。
标题可能有点令人困惑,因为我不完全确定如何用这个来标题。
基本上,我想将当前VARCHAR
的表格中的列转换为INT
。该列仅包含格式如下的数字:
00001
00005
02150
这些基本上是 ID的,稍后将附加到Name column
用于其他目的。如果有必要这样做,我还想知道如何将最终结果INT
转换为附加部分的VARCHAR
。
这就是我现在所拥有的:
SELECT CONVERT(INT,LocNo)
它返回我期望的结果但我认为我需要以某种方式更新现有的LocNo column
或以其他方式将其放在新列中以供前向使用。
我该怎么做才能做到这一点?
答案 0 :(得分:4)
试试这个
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
答案 1 :(得分:1)
UPDATE YourTable
SET LocNo = CONVERT(INT, LocNo)