将列的最后两位数插入新列

时间:2013-08-06 15:53:53

标签: sql sql-server insert

所以我应该从电话号码中取最后两位数,并将其插入同一个表中的新列。

我目前收到此错误:

  

Msg 515,Level 16,State 2,Line 1
  无法将值NULL插入列'Pass_id',表'lunches.dbo.passenger';列不允许空值。 INSERT失败。
  声明已经终止。

这是我用来获取此错误的查询:

INSERT INTO dbo.passenger (age)
SELECT 
RIGHT(phone, 2)
FROM dbo.passenger

1 个答案:

答案 0 :(得分:3)

UPDATE dbo.passenger
SET    age = Cast(Right(phone, 2) As tinyint)
WHERE  phone IS NOT NULL
AND    Right(phone, 2) NOT LIKE '%[^0-9]%'