SQL在varchar列中使用数字

时间:2018-03-23 16:05:05

标签: sql numbers add varchar

我有一个存储在varchar列中的这个11位长数字,我想在这个数字上添加另一个数字,一个由第二,第三,第四,第五和第六个字符组成的数字接下来是5个零(例如51030406787)我要添加的数字是1030400000.我想在SQL查询中执行此操作。

2 个答案:

答案 0 :(得分:0)

假设您的字符串编号列名为my_number,您可以转换连接字符串

      select my_number
          , cast(concat(substr(my_number,2,5), '00000')   AS UNSIGNED INTEGER)
          , cast( my_number, AS UNSIGNED INTEGER) + 
                     cast(concat(substr(my_number,2,5), '00000')   AS UNSIGNED INTEGER)
      from my_table  

答案 1 :(得分:0)

标准语法如下:

select cast(col as bigint) + cast(substr(col, 2, 5) || '00000' as bigint)