将 VARCHAR 转换或强制转换为 INT;更新列

AGx*_*162 3 t-sql sql-server casting sql-update

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

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

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

00001
00005
02150
Run Code Online (Sandbox Code Playgroud)

这些本质上是IDName column为了其他目的,它们将被附加到后面。如果有必要这样做,我还想知道如何将最终结果INT转换VARCHAR为 append 部分。

这是我现在所拥有的:

选择转换(INT,LocNo)

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

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

rs.*_*rs. 6

尝试这个

UPDATE TableName
SET LocNo =  CONVERT(INT, LocNo)
Run Code Online (Sandbox Code Playgroud)

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

ALTER TABLE TableName
ADD NewCol Int Null

UPDATE TableName
SET NewCol =  CONVERT(INT, LocNo)
Run Code Online (Sandbox Code Playgroud)

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

SELECT CAST(LocNO As VARCHAR) + Name as NameAppended From TableName
Run Code Online (Sandbox Code Playgroud)

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

 SELECT right('00000' + CAST(LocNO As VARCHAR),0) + Name as NameAppended 
 From TableName
Run Code Online (Sandbox Code Playgroud)