Преобразование в запросе

  1. 10 г. назад

    консоль отчетов ковыряю...Как бы мне в запросе преобразовать число в строку??? нужно вывести день рождения+месяц...

    Ответы: (12) (26)
  2. А " выразить" не подойдет ?

    Ответы: (3) (4)
  3. выбор когда 0 тогда "0"

    Ответы: (4) (5) (6)
  4. (1)не, невзлетит

    Ответы: (9)
  5. (2) этож каждый день месяца проверять...проще никак???

    Ответы: (7)
  6. (2)+ исчо создаёшь таблицу типа 0-"0"; 1-"1" и лефт джонить

  7. (5)этож одинэс )

    Ответы: (8)
  8. (7) действительно...))

    Ответы: (10)
  9. (3) Да. Говорит несовместимые типы

    Ответы: (10)
  10. (9)если б всё так просто было )
    (8)сам справишься или запрос накидать?

    Ответы: (11)
  11. (10) да сам справлюсь...просто думал мож как то проще можно а я не знаю...)

    Ответы: (13)
  12. (0) выводи дату, в чём проблема-то?

    Ответы: (14)
  13. (11) попроще никак Играемся со строками в запросе

  14. (12) проблема в том что кадры хотят рассылать список именининников без указания года...ну и что бы месяц по человечи показывался...))

    Ответы: (16) (19)
  15. 26.09.2014 16:05:47 отредактировано andrewks

    у меня есть рабочий запрос по переводу любого числа в строку (прямо в запросе). надо?

    но сразу хочу сказать, что это баловство лишь в академических целях, памяти жрёт немеряно

  16. (14) а, без года, ну, это легкотня, всего-то 31 число надо в табличку загнать

  17. если тупо целые и до 100, тогда довольно просто выходит

    
    select
     0 as num
    ,"0" as numstr
    into digits
    union select 1,"1" union select 2,"2" union select 3,"3" union select 4,"4" union select 5,"5"
    union select 6,"6" union select 7,"7" union select 8,"8" union select 9,"9"
    
    ;
    
    select
     digits1.num+10*digits2.num as num
    ,digits2.numstr+digits1.numstr as numstr
    into numbers
    from
     digits as digits1
    ,digits as digits2
    index by num
    
    ;
    
    select
     numbers.numstr as OutText
    from
     InputTable
    inner join
     numbers
    on (InputTable.val=numbers.num)
    
    
  18. дата в строку (с годом)

    select
     0 as num
    ,"0" as numstr
    into digits
    union select 1,"1" union select 2,"2" union select 3,"3" union select 4,"4" union select 5,"5"
    union select 6,"6" union select 7,"7" union select 8,"8" union select 9,"9"
    
    ;
    
    select
     digits1.num+10*digits2.num as day
    ,digits2.numstr+digits1.numstr as daystr
    into days 
    from
     digits as digits1
    ,digits as digits2
    where (digits1.num+10*digits2.num between 1 and 31)
    index by day
    
    ;
    
    select
     digits1.num+10*digits2.num as month
    ,digits2.numstr+digits1.numstr as monthstr
    into months
    from
     digits as digits1
    ,digits as digits2
    where (digits1.num+10*digits2.num between 1 and 12)
    index by month
    
    ;
    
    
    select
     digits1.num+10*digits2.num+100*digits3.num+1000*digits4.num as year
    ,digits4.numstr+digits3.numstr+digits2.numstr+digits1.numstr as yearstr
    into years 
    from
     digits as digits1
    ,digits as digits2
    ,digits as digits3
    ,digits as digits4
    where (digits1.num+10*digits2.num+100*digits3.num+1000*digits4.num between 1900 and 2500)
    index by year
    
    ;
    
    select
     &Дата1 as InputDate
    into InputDates
    union all
    select
     &Дата2
    
    ;
    
    select
     InputDates.InputDate as Дата
    ,days.daystr+"."+months.monthstr+"."+years.yearstr  as ДатаСтр
    from
     InputDates 
    inner join
     days
    on (days.day=day(InputDates.InputDate))
    inner join
     months
    on (months.month=month(InputDates.InputDate))
    inner join
     years
    on (years.year=year(InputDates.InputDate))
     
    
  19. (14) а что нельзя уже в формировании письма отформатить?

    Ответы: (20)
  20. (19) какого письма???

    Ответы: (21)
  21. (20) ну которое рассылается, со списком именинников

  22. ну так этож просто печатная форма...если б я выводил в макет то да я бы преобразовал при выводе...а я хочу сделать консолью отчетов...там вывода нету...тупо запрос и настройками как вывести...

  23. Делай на СКД, там все есть

  24. и консолью рассылку делать будешь?

  25. выделят в письмо вставят да отправят...)

  26. (0) Для этого СКД используй, давно уже все реализовано. А те которые пеняют на 1С(типа не умеет) надо тыкать мордашкой в проф разработку.

  27. да хотелось просто в консоли поковыряться...ни разу ей не пользовался...)

    Ответы: (28)
  28. (27) так она ж вроде умеет в макет-то

  29. ну он выводит сам...результат запроса...то есть программно то ты не пишешь выборку там форматирование и прочее...

    Ответы: (30)
  30. (29) Не, там есть вариант вывода в макет, который сам нарисуешь. Есть же всякие типовые формы с определенной шапкой там и подвалом, которые стандартным выводом не получатся. В настройках оформления фиксированный макет. Что-то такое там.

    Ответы: (31)
  31. (30) имхается мне ты про скд...а я про консоль отчетов...

    Ответы: (32)
  32. (31) Не-не, про нее родимую. Знаю правда только в теории, с 7.7 сразу на СКД перескочил, но вроде есть у нее такое. Только смысл? Даже если конфа и древняя, движок-то СКД поддерживает, лучше на нем и делать.

    Ответы: (33)
  33. 27.09.2014 10:05:45 отредактировано Дядя Васька

    (32)+ Что-то допиливал в той консоли, но своих-то не писал. Кстати если поискать, наверняка и в типовых нароешь пример такого вывода.

  34. так что как с СКД дату то преобразовать??? просвящайте...

    Ответы: (35)
  35. (34) там можно задать формат

  36. без года нельзя...или я не нашел как как всегда по невнимательности...

    Ответы: (37)
  37. (36) ну ты даешь, ставь формат dd MMMM

    Ответы: (39)
  38. мда...туплю...указал формат ДФ=dd.MMMM выводит 1.сентября...что за точка???

    Ответы: (43)
  39. (37) с пробелом он отказывается выводить чего то...

  40. игра "найди точку" )

  41. ДФ='dd MMMM'

    Ответы: (42)
  42. (41) точно...реально тупой уже...пора домой...спасибо...)

  43. V777 указал формат ДФ=dd.MMMM выводит 1.сентября...что за точка???

    ДФ=dd>>>.<<<MMMM
    здесь точка!

    Ответы: (44)
  44. (43) да эт я понял...я на пробел поменял...а он не хватает...совершенно вылетело из головы что ковычки ему надобно...

или зарегистрируйтесь чтобы ответить!