假设数据库中有个st_id这个字段,这个字段是5位的char型我想在这个字段里的所有数据前面加个0,请问有什么简单的方法么。我用的是toad工具比如以前的数据是  2345 3456 4567 ,变成02345,03456,04567 这种形式

解决方案 »

  1.   

    oracle有个函数:lpad('2345 ',5,'0')
      

  2.   

    select lpad('2345',5,'0') from dual
      

  3.   

    我是楼主,你们理解错了,我不是想做查询我是想改变表里的数据,不是想select是想改变每一条数据
      

  4.   

    update tab set st_id=lpad(st_id,5,'0')
      

  5.   

      lpad( string1, padded_length, [ pad_string ] )
         其中string1是需要粘贴字符的字符串
         padded_length是返回的字符串的数量,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成padded_length;     pad_string是个可选参数,这个字符串是要粘贴到string1的左边,如果这个参数未写,lpad函数将会在string1的左边粘贴空格。
      

  6.   

    顶,反正是字符串,直接拼接不就好了?update tab set st_id=('0'||st_id) ;还搞那么复杂噢..