我有一个字段,VARCHAR(6)我试图将其插入另一个类型的表,bigint  它给我一个错误
(错误从数据类型varchar转换为bigint
这就是我在做的事情
CONVERT(bigint, seconds) as seconds
任何人都可以帮助解决这个问题吗?
Jay*_*len 28
这就是答案
(CASE
  WHEN
    (isnumeric(ts.TimeInSeconds) = 1) 
  THEN
    CAST(ts.TimeInSeconds AS bigint)
  ELSE
    0
  END) AS seconds
小智 8
另一种选择是执行以下操作:
SELECT
   CAST(P0.seconds as bigint) as seconds
FROM
   (
   SELECT
      seconds
   FROM
      TableName
   WHERE
      ISNUMERIC(seconds) = 1
   ) P0