Replicate

Тема в разделе "Свободное общение", создана пользователем lapo4ka, 31 июл 2007.

  1. lapo4ka

    lapo4ka Гость

    Добрый день!
    Помогите разобраться с такой проблемой:
    делаю выгрузку типа р-макета ( сначала создаю свою временную таблицу со всеми данными) там есть поля с суммами, их размер - 9 символов. Если число меньше 9 символов, то осташееся свободное место добивается "0" слева. Никак не получается это!!!!! точнее так: если брать просто select с таблицы с одним значением, то все ок. если же пытаться провернуть update таблицы для этого поля, то ничего не выходит. А нужен имеено update , тк потом используется курсор, куда загоняются все поля этой таблицы

    update #schet set amound=convert(varchar(18),(REPLICATE(' ',9 - DATALENGTH(convert(varchar(9), amound) ))+convert(varchar(9), amound)))
    from #schet
    amound
    -----------
    100000

    просто select
    select (convert(varchar(9),(REPLICATE('0',9 - DATALENGTH(convert(varchar(9), amound) ))+convert(varchar(9), amound)))) from #schet
    ---------
    000100000

    может я где-то неправа? или что-то другое можно использовать. не REPLICATE??
    Помогите пож)) :)
     
  2. lapo4ka

    lapo4ka Гость

    не работает((
    не добавляет никак "0"
    update #schet set amound=convert(varchar(18),(replicate('0', 9-len(cast(floor(amound) as varchar))) + cast(floor(amound) as varchar)))
    from #schet
    получается amound
    -----------
    100000
     
  3. lapo4ka

    lapo4ka Гость

    у меня amound int, вообще там деньги должны быть, но нужно значение без запятой. что же мне делать?((( как правильно написать?(( :)
     
  4. lapo4ka

    lapo4ka Гость

    решила делать доп таблицу. большое спасибо)))
     
Загрузка...
Похожие Темы - Replicate
  1. seoman2
    Ответов:
    4
    Просмотров:
    1.786
  2. alik86
    Ответов:
    10
    Просмотров:
    5.297

Поделиться этой страницей