powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
25 сообщений из 25, страница 1 из 1
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058771
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть код которые выдает такие данные :

1. 2020 (12 июл - 18 июл) 2020-07-15 2020-07-15 4 990.00 NULL
1. 2020 (12 июл - 18 июл) 2020-07-15 2020-07-15 4 990.00 NULL
1. 2020 (12 июл - 18 июл) 2020-07-15 2020-07-15 4 100.00 NULL

Для того чтоб дата была диапазоном писался сложный запрос,
теперь нужно пронумировать правильно 001 002 и так далее.

У меня есть такой код :
/*
case

when len(left(CAST (a.[pdate] as date),charindex('.',CAST (a.[pdate] as date))-1)) = 1 then '000'
when len(left(CAST (a.[pdate] as date),charindex('.',CAST (a.[pdate] as date))-1)) = 2 then '00'
when len(left(CAST (a.[pdate] as date),charindex('.',CAST (a.[pdate] as date))-1)) = 3 then '0'
else ''
end + CAST (a.[pdate] as date),*/

но он не срабатывает, помогите пожалуйста
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058775
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla,

покажите как должен выглядеть результат "нумирования"
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058777
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

Нужно чтоб было

001. 2020 (12 июл - 18 июл)
002. 2020 (12 июл - 18 июл)
003. 2020 (12 июл - 18 июл)
....

потом например

078
179...123
125
и тд.

Чтоб по неделям разбивалось

Написала вот так

select

case

when len(left(CAST (a.[pdate] as date),charindex('.',CAST (a.[pdate] as date))-1)) = 1 then '000'
when len(left(CAST (a.[pdate] as date),charindex('.',CAST (a.[pdate] as date))-1)) = 2 then '00'
when len(left(CAST (a.[pdate] as date),charindex('.',CAST (a.[pdate] as date))-1)) = 3 then '0'
else ''
end,

Выдает ошибку

Сообщение 537, уровень 16, состояние 2, строка 7
Invalid length parameter passed to the LEFT or SUBSTRING function.
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058780
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla
У меня есть код которые выдает такие данные
Как оно делится на поля, мы типа должны догадаться, да?

А ведущие нули добавляются, например, тупым
Код: sql
1.
RIGHT(REPLICATE('0', final_length) + CAST(numeric_column AS CHAR), final_length)


Или ещё более тупым
Код: sql
1.
FORMAT(numeric_column, REPLICATE('0', final_length))
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058781
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla,

у вас для каких-то записей вот это
Код: sql
1.
charindex('.',CAST (a.[pdate] as date))-1


возвращает неверную длину

найдите такие записи
Код: sql
1.
where charindex('.',CAST (a.[pdate] as date))-1 <= 0



и решите, что с ними делать.
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058782
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
msLex
возвращает неверную длину
Да просто точки нет - вот и получается длина отрицательная.
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058784
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla
komrad,

Нужно чтоб было

001. 2020 (12 июл - 18 июл)
002. 2020 (12 июл - 18 июл)
003. 2020 (12 июл - 18 июл)
....

потом например

078
179...123
125
и тд.

Чтоб по неделям разбивалось

Написала вот так

select

case

when len(left(CAST (a.[pdate] as date),charindex('.',CAST (a.[pdate] as date))-1)) = 1 then '000'
when len(left(CAST (a.[pdate] as date),charindex('.',CAST (a.[pdate] as date))-1)) = 2 then '00'
when len(left(CAST (a.[pdate] as date),charindex('.',CAST (a.[pdate] as date))-1)) = 3 then '0'
else ''
end,

Выдает ошибку

Сообщение 537, уровень 16, состояние 2, строка 7
Invalid length parameter passed to the LEFT or SUBSTRING function.


Осподе! Чему нынче учат в школе?

Код: sql
1.
2.
3.
4.
5.
declare @field varchar(128) = '1';
select  right('000' + @field, 3);

declare @field varchar(128) = '111';
select  right('000' + @field, 3);
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058831
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,

Так как не могу разобраться в функции я разбила запрос а несколько частей
Я написала вот так:

select

charindex('.',[Период]),
мне запрос возвращает это :

2 1. 2020 (12 июл - 18 июл) 990.00 NULL
2 1. 2020 (12 июл - 18 июл) 990.00 NULL
2 1. 2020 (12 июл - 18 июл) 100.00 NULL
2 1. 2020 (12 июл - 18 июл) 100.00 NULL

теперь понятно сколько знаков перед пробелом в [Период]
а как дальше прописать не понимаю. Простите я чайник совсем недавно в деле.


а код такой разбираю:


case
when len(left([Период]),charindex('.',[Период] )-1)) = 1 then '000'
when len(left([Период]),charindex('.',[Период] )-1)) = 2 then '00'
when len(left([Период]),charindex('.',[Период] )-1)) = 3 then '0'
else ''
end
as [Период1],*/
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058838
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,

На моем примере не получилось применить ...
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058851
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,помогите пожалуйста
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058852
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla
komrad,помогите пожалуйста


Вопрос в тему:
где вы учитесь? кем будете получив диплом?
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058853
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla
komrad,помогите пожалуйста

если покажете входные данные с именами колонок
и выходные данные с именами колонок
+
поясните выделенную часть (особенно красное)

цитатаНужно чтоб было
001. 2020 (12 июл - 18 июл)
002. 2020 (12 июл - 18 июл)
003. 2020 (12 июл - 18 июл)
....

потом например

078
179...123
125
и тд.

Чтоб по неделям разбивалось

то мне станет понятней ваша задача
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058854
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин,
я самоучка
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058855
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

сейчас так :

Период Перевод Перевод
1. 2020 (12 июл - 18 июл) 990.00 NULL
1. 2020 (12 июл - 18 июл) 990.00 NULL
1. 2020 (12 июл - 18 июл) 100.00 NULL
1. 2020 (12 июл - 18 июл) 100.00 NULL


а надо так:

Период Перевод Перевод
001. 2020 (12 июл - 18 июл) 990.00 NULL
001. 2020 (12 июл - 18 июл) 990.00 NULL
001. 2020 (12 июл - 18 июл) 100.00 NULL
001. 2020 (12 июл - 18 июл) 100.00 NULL


и так далее

тоесть добавить нули перед нумирацией

у меня есть такой код но как применить его в моем случае у меня не получается:


case
when len(left([Период]),charindex('.',[Период] )-1)) = 1 then '000'
when len(left([Период]),charindex('.',[Период] )-1)) = 2 then '00'
when len(left([Период]),charindex('.',[Период] )-1)) = 3 then '0'
else ''
end
as [Период1],
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058859
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla,

забирайте
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
with data (period,perevod1,perevod2) as 
(		  select N'1. 2020 (12 июл - 18 июл)',990.00,  NULL
union all select N'1. 2020 (12 июл - 18 июл)',990.00,  NULL
union all select N'1. 2020 (12 июл - 18 июл)',100.00,  NULL
union all select N'1. 2020 (12 июл - 18 июл)',100.00,  NULL
)
select 
	right('000'+period,len(period)+2) [period]
	,perevod1
	,perevod2
from data 

...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058860
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

чтоб было вот так :

0001. 2017 (31 дек - 06 янв)
0002. 2018 (07 янв - 13 янв)
0003. 2018 (14 янв - 20 янв)
0004. 2018 (21 янв - 27 янв)
0005. 2018 (28 янв - 03 фев)
0006. 2018 (04 фев - 10 фев)
0007. 2018 (11 фев - 17 фев)
0008. 2018 (18 фев - 24 фев)
0009. 2018 (25 фев - 03 мар)
0010. 2018 (04 мар - 10 мар)
0011. 2018 (11 мар - 17 мар)
0012. 2018 (18 мар - 24 мар)
0013. 2018 (25 мар - 31 мар)
0014. 2018 (01 апр - 07 апр)
0015. 2018 (08 апр - 14 апр)
0016. 2018 (15 апр - 21 апр)
0017. 2018 (22 апр - 28 апр)
0018. 2018 (29 апр - 05 май)
0019. 2018 (06 май - 12 май)
0020. 2018 (13 май - 19 май)
0021. 2018 (20 май - 26 май)
0022. 2018 (27 май - 02 июн)
0023. 2018 (03 июн - 09 июн)
0024. 2018 (10 июн - 16 июн)
0025. 2018 (17 июн - 23 июн)
0026. 2018 (24 июн - 30 июн)
0027. 2018 (01 июл - 07 июл)
0028. 2018 (08 июл - 14 июл)
0029. 2018 (15 июл - 21 июл)
0030. 2018 (22 июл - 28 июл)
0031. 2018 (29 июл - 04 авг)
0032. 2018 (05 авг - 11 авг)
0033. 2018 (12 авг - 18 авг)
0034. 2018 (19 авг - 25 авг)
0035. 2018 (26 авг - 01 сен)
0036. 2018 (02 сен - 08 сен)
0037. 2018 (09 сен - 15 сен)
0038. 2018 (16 сен - 22 сен)
0039. 2018 (23 сен - 29 сен)
0040. 2018 (30 сен - 06 окт)
0041. 2018 (07 окт - 13 окт)
0042. 2018 (14 окт - 20 окт)
0043. 2018 (21 окт - 27 окт)
0044. 2018 (28 окт - 03 ноя)
0045. 2018 (04 ноя - 10 ноя)
0046. 2018 (11 ноя - 17 ноя)
0047. 2018 (18 ноя - 24 ноя)
0048. 2018 (25 ноя - 01 дек)
0049. 2018 (02 дек - 08 дек)
0050. 2018 (09 дек - 15 дек)
0051. 2018 (16 дек - 22 дек)
0052. 2018 (23 дек - 29 дек)
0053. 2018 (30 дек - 05 янв)
0054. 2019 (06 янв - 12 янв)
0055. 2019 (13 янв - 19 янв)
0056. 2019 (20 янв - 26 янв)
0057. 2019 (27 янв - 02 фев)
0058. 2019 (03 фев - 09 фев)
0059. 2019 (10 фев - 16 фев)
0060. 2019 (17 фев - 23 фев)
0061. 2019 (24 фев - 02 мар)
0062. 2019 (03 мар - 09 мар)
0063. 2019 (10 мар - 16 мар)
0064. 2019 (17 мар - 23 мар)
0065. 2019 (24 мар - 30 мар)
0066. 2019 (31 мар - 06 апр)
0067. 2019 (07 апр - 13 апр)
0068. 2019 (14 апр - 20 апр)
0069. 2019 (21 апр - 27 апр)
0070. 2019 (28 апр - 04 май)
0071. 2019 (05 май - 11 май)
0072. 2019 (12 май - 18 май)
0073. 2019 (19 май - 25 май)
0074. 2019 (26 май - 01 июн)
0075. 2019 (02 июн - 08 июн)
0076. 2019 (09 июн - 15 июн)
0077. 2019 (16 июн - 22 июн)
0078. 2019 (23 июн - 29 июн)
0079. 2019 (30 июн - 06 июл)
0080. 2019 (07 июл - 13 июл)
0081. 2019 (14 июл - 20 июл)
0082. 2019 (21 июл - 27 июл)
0083. 2019 (28 июл - 03 авг)
0084. 2019 (04 авг - 10 авг)
0085. 2019 (11 авг - 17 авг)
0086. 2019 (18 авг - 24 авг)
0087. 2019 (25 авг - 31 авг)
0088. 2019 (01 сен - 07 сен)
0089. 2019 (08 сен - 14 сен)
0090. 2019 (15 сен - 21 сен)
0091. 2019 (22 сен - 28 сен)
0092. 2019 (29 сен - 05 окт)
0093. 2019 (06 окт - 12 окт)
0094. 2019 (13 окт - 19 окт)
0095. 2019 (20 окт - 26 окт)
0096. 2019 (27 окт - 02 ноя)
0097. 2019 (03 ноя - 09 ноя)
0098. 2019 (10 ноя - 16 ноя)
0099. 2019 (17 ноя - 23 ноя)
0100. 2019 (24 ноя - 30 ноя)
0101. 2019 (01 дек - 07 дек)
0102. 2019 (08 дек - 14 дек)
0103. 2019 (15 дек - 21 дек)
0104. 2019 (22 дек - 28 дек)
0105. 2019 (29 дек - 04 янв)
0106. 2020 (05 янв - 11 янв)
0107. 2020 (12 янв - 18 янв)
0108. 2020 (19 янв - 25 янв)
0109. 2020 (26 янв - 01 фев)
0110. 2020 (02 фев - 08 фев)
0111. 2020 (09 фев - 15 фев)
0112. 2020 (16 фев - 22 фев)
0113. 2020 (23 фев - 29 фев)
0114. 2020 (01 мар - 07 мар)
0115. 2020 (08 мар - 14 мар)
0116. 2020 (15 мар - 21 мар)
0117. 2020 (22 мар - 28 мар)
0118. 2020 (29 мар - 04 апр)
0119. 2020 (05 апр - 11 апр)
0120. 2020 (12 апр - 18 апр)
0121. 2020 (19 апр - 25 апр)
0122. 2020 (26 апр - 02 май)
0123. 2020 (03 май - 09 май)
0124. 2020 (10 май - 16 май)
0125. 2020 (17 май - 23 май)
0126. 2020 (24 май - 30 май)
0127. 2020 (31 май - 06 июн)
0128. 2020 (07 июн - 13 июн)
0129. 2020 (14 июн - 20 июн)
0130. 2020 (21 июн - 27 июн)
0131. 2020 (28 июн - 04 июл)
0132. 2020 (05 июл - 11 июл)
0133. 2020 (12 июл - 18 июл)
0134. 2020 (19 июл - 25 июл)
0135. 2020 (26 июл - 01 авг)
0136. 2020 (02 авг - 08 авг)
0137. 2020 (09 авг - 15 авг)
0138. 2020 (16 авг - 22 авг)
0139. 2020 (23 авг - 29 авг)
0140. 2020 (30 авг - 05 сен)
0141. 2020 (06 сен - 12 сен)
0142. 2020 (13 сен - 19 сен)
0143. 2020 (20 сен - 26 сен)
0144. 2020 (27 сен - 03 окт)
0145. 2020 (04 окт - 10 окт)
0146. 2020 (11 окт - 17 окт)
0147. 2020 (18 окт - 24 окт)
0148. 2020 (25 окт - 31 окт)
0149. 2020 (01 ноя - 07 ноя)
0150. 2020 (08 ноя - 14 ноя)
0151. 2020 (15 ноя - 21 ноя)
0152. 2020 (22 ноя - 28 ноя)
0153. 2020 (29 ноя - 05 дек)
0154. 2020 (06 дек - 12 дек)
0155. 2020 (13 дек - 19 дек)
0156. 2020 (20 дек - 26 дек)
0157. 2020 (27 дек - 02 янв)
0158. 2021 (03 янв - 09 янв)
0159. 2021 (10 янв - 16 янв)
0160. 2021 (17 янв - 23 янв)
0161. 2021 (24 янв - 30 янв)
0162. 2021 (31 янв - 06 фев)
0163. 2021 (07 фев - 13 фев)
0164. 2021 (14 фев - 20 фев)
0165. 2021 (21 фев - 27 фев)
0166. 2021 (28 фев - 06 мар)
0167. 2021 (07 мар - 13 мар)
0168. 2021 (14 мар - 20 мар)
0169. 2021 (21 мар - 27 мар)
0170. 2021 (28 мар - 03 апр)
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058862
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

там не надо через union all
я так каждую дату буду складывать это неудобно...
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058864
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla,

так сколько должно быть разрядов в нумерации? Три или четыре?

если четыре, то поправьте формулу

Код: sql
1.
right('000'+period,len(period)+2)



на

Код: sql
1.
right('000'+period,len(period)+3)
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058867
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla
komrad,

там не надо через union all
я так каждую дату буду складывать это неудобно ...


(рука-лицо) вот уже который раз такое вижу

инструкция по применению подобных скриптов:

1) отрежьте вернюю часть скрипта
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with data (period,perevod1,perevod2) as 
(		  select N'1. 2020 (12 июл - 18 июл)',990.00,  NULL
union all select N'1. 2020 (12 июл - 18 июл)',990.00,  NULL
union all select N'1. 2020 (12 июл - 18 июл)',100.00,  NULL
union all select N'1. 2020 (12 июл - 18 июл)',100.00,  NULL
)
---------------X   линия отреза   X-----------------
select 
	right('000'+period,len(period)+3) [period]
	,perevod1
	,perevod2
from data 


2) поменяйте во второй части названия столбцов и таблицы на ваши
3) выполните получившееся и проверьте результат
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058877
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad,

Сделала но получается так:

0001. 2020 (12 июл - 18 июл)
0001. 2020 (12 июл - 18 июл)
0001. 2020 (12 июл - 18 июл)
0001. 2020 (12 июл - 18 июл)
0002. 2020 (19 июл - 25 июл)
0002. 2020 (19 июл - 25 июл)
0002. 2020 (19 июл - 25 июл)
0002. 2020 (19 июл - 25 июл)
0003. 2020 (16 авг - 22 авг)
0004. 2020 (13 сен - 19 сен)
0005. 2020 (20 сен - 26 сен)
0005. 2020 (20 сен - 26 сен)
0005. 2020 (20 сен - 26 сен)
0005. 2020 (20 сен - 26 сен)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0006. 2020 (27 сен - 03 окт)
0007. 2020 (04 окт - 10 окт)
0008. 2020 (11 окт - 17 окт)
0008. 2020 (11 окт - 17 окт)
0008. 2020 (11 окт - 17 окт)
0008. 2020 (11 окт - 17 окт)
0008. 2020 (11 окт - 17 окт)
0009. 2020 (18 окт - 24 окт)
0009. 2020 (18 окт - 24 окт)
0009. 2020 (18 окт - 24 окт)
0009. 2020 (18 окт - 24 окт)
0009. 2020 (18 окт - 24 окт)
0009. 2020 (18 окт - 24 окт)
00010. 2020 (01 ноя - 07 ноя)
00010. 2020 (01 ноя - 07 ноя)
00010. 2020 (01 ноя - 07 ноя)
00010. 2020 (01 ноя - 07 ноя)
00010. 2020 (01 ноя - 07 ноя)
00011. 2020 (08 ноя - 14 ноя)
00011. 2020 (08 ноя - 14 ноя)
00011. 2020 (08 ноя - 14 ноя)
00011. 2020 (08 ноя - 14 ноя)
00011. 2020 (08 ноя - 14 ноя)
00011. 2020 (08 ноя - 14 ноя)
00012. 2020 (15 ноя - 21 ноя)
00012. 2020 (15 ноя - 21 ноя)
00012. 2020 (15 ноя - 21 ноя)
00012. 2020 (15 ноя - 21 ноя)
00012. 2020 (15 ноя - 21 ноя)
00012. 2020 (15 ноя - 21 ноя)
00012. 2020 (15 ноя - 21 ноя)
00012. 2020 (15 ноя - 21 ноя)
00012. 2020 (15 ноя - 21 ноя)
00012. 2020 (15 ноя - 21 ноя)
00013. 2020 (22 ноя - 28 ноя)
00014. 2020 (06 дек - 12 дек)
00014. 2020 (06 дек - 12 дек)
00014. 2020 (06 дек - 12 дек)
00014. 2020 (06 дек - 12 дек)
00014. 2020 (06 дек - 12 дек)
00014. 2020 (06 дек - 12 дек)
00014. 2020 (06 дек - 12 дек)
00015. 2020 (13 дек - 19 дек)
00015. 2020 (13 дек - 19 дек)
00015. 2020 (13 дек - 19 дек)
00015. 2020 (13 дек - 19 дек)
00016. 2020 (20 дек - 26 дек)
00016. 2020 (20 дек - 26 дек)
00016. 2020 (20 дек - 26 дек)
00016. 2020 (20 дек - 26 дек)
00016. 2020 (20 дек - 26 дек)
00016. 2020 (20 дек - 26 дек)
00016. 2020 (20 дек - 26 дек)
00016. 2020 (20 дек - 26 дек)
00017. 2020 (27 дек - 02 янв)
00017. 2020 (27 дек - 02 янв)
00017. 2020 (27 дек - 02 янв)
00017. 2020 (27 дек - 02 янв)
00017. 2020 (27 дек - 02 янв)
00017. 2020 (27 дек - 02 янв)
00017. 2020 (27 дек - 02 янв)
00017. 2020 (27 дек - 02 янв)
00017. 2020 (27 дек - 02 янв)
00018. 2021 (10 янв - 16 янв)
00018. 2021 (10 янв - 16 янв)
00018. 2021 (10 янв - 16 янв)
00018. 2021 (10 янв - 16 янв)
00018. 2021 (10 янв - 16 янв)
00019. 2021 (17 янв - 23 янв)
00019. 2021 (17 янв - 23 янв)
00019. 2021 (17 янв - 23 янв)
00019. 2021 (17 янв - 23 янв)
00019. 2021 (17 янв - 23 янв)
00019. 2021 (17 янв - 23 янв)
00019. 2021 (17 янв - 23 янв)
00020. 2021 (24 янв - 30 янв)
00020. 2021 (24 янв - 30 янв)
00020. 2021 (24 янв - 30 янв)
00020. 2021 (24 янв - 30 янв)
00020. 2021 (24 янв - 30 янв)
00021. 2021 (31 янв - 06 фев)
00021. 2021 (31 янв - 06 фев)
00021. 2021 (31 янв - 06 фев)
00021. 2021 (31 янв - 06 фев)
00021. 2021 (31 янв - 06 фев)
00021. 2021 (31 янв - 06 фев)
00021. 2021 (31 янв - 06 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00022. 2021 (07 фев - 13 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00023. 2021 (14 фев - 20 фев)
00024. 2021 (21 фев - 27 фев)
00024. 2021 (21 фев - 27 фев)
00024. 2021 (21 фев - 27 фев)
00024. 2021 (21 фев - 27 фев)
00024. 2021 (21 фев - 27 фев)
00024. 2021 (21 фев - 27 фев)
00024. 2021 (21 фев - 27 фев)
00025. 2021 (28 фев - 06 мар)
00025. 2021 (28 фев - 06 мар)
00025. 2021 (28 фев - 06 мар)
00025. 2021 (28 фев - 06 мар)
00025. 2021 (28 фев - 06 мар)
00025. 2021 (28 фев - 06 мар)
00025. 2021 (28 фев - 06 мар)
00025. 2021 (28 фев - 06 мар)
00026. 2021 (07 мар - 13 мар)
00026. 2021 (07 мар - 13 мар)
00026. 2021 (07 мар - 13 мар)
00026. 2021 (07 мар - 13 мар)
00026. 2021 (07 мар - 13 мар)
00026. 2021 (07 мар - 13 мар)
00026. 2021 (07 мар - 13 мар)
00027. 2021 (14 мар - 20 мар)
00027. 2021 (14 мар - 20 мар)
00027. 2021 (14 мар - 20 мар)
00027. 2021 (14 мар - 20 мар)
00027. 2021 (14 мар - 20 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00028. 2021 (21 мар - 27 мар)
00029. 2021 (28 мар - 03 апр)
00029. 2021 (28 мар - 03 апр)
00029. 2021 (28 мар - 03 апр)
00029. 2021 (28 мар - 03 апр)


а надо чтоб количество знаков не менялось

тесть так как в примере ниже
Модератор: В следующий раз подобную портянку просто сотру на месте.
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058886
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla,

так?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
with data (period,perevod1,perevod2) as 
(		  select N'1. 2020 (12 июл - 18 июл)',990.00,  NULL
union all select N'10. 2020 (12 июл - 18 июл)',990.00,  NULL
union all select N'100. 2020 (12 июл - 18 июл)',100.00,  NULL
union all select N'1000. 2020 (12 июл - 18 июл)',100.00,  NULL
)
---------------X   линия отреза   X-----------------
select 
	stuff(period
		,1
		,charindex('.',period)
		,right(
				'000'+left(period,charindex('.',period))
				,5)
		) [period]
	,perevod1
	,perevod2
from data 

...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058930
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad, да, скажите пожалуйста а можете написать описание функции.
поесть как мы читаем начинаем с charindex так?
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058931
infinitidolla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
komrad, я вам очень благодарна.
Единственное что мне сложно прочесть функцию саму связку функций очень прошу если не сложно напишите пожалуйста
чтоб я поняла
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40058939
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla

Единственное что мне сложно прочесть функцию саму связку функций очень прошу если не сложно напишите пожалуйста
чтоб я поняла



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
with data (period,perevod1,perevod2) as 
(		  select N'1. 2020 (12 июл - 18 июл)',990.00,  NULL
union all select N'10. 2020 (12 июл - 18 июл)',990.00,  NULL
union all select N'100. 2020 (12 июл - 18 июл)',100.00,  NULL
union all select N'1000. 2020 (12 июл - 18 июл)',100.00,  NULL
)
select 
	stuff(period                                /*заменяем в колонке period всё что встречается*/
		,1                                      /*начиная с первой позиции*/
		,charindex('.',period)           /*до позиции на которой находится первая точка*/
		/*на результат работы функции right*/
		,right(                                 
				'000'+left(period,charindex('.',period))   /*добавляем '000' ко всему, что находится с начала строки и до точки включительно*/
				,5)     /*берем последние пять символов с результата, полученного в результате сложения (строка выше)*/
		) [new period]

	/*манипуляция по шагам*/
	,period 
	,charindex('.',period) [dot position]
	,left(period,charindex('.',period))  [begining till dot]
	,'000'+left(period,charindex('.',period)) [add zeroes]
	,right(                                 
			'000'+left(period,charindex('.',period)) 
			,5)    [prepared new beginning]
from data 
...
Рейтинг: 0 / 0
Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
    #40059588
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
infinitidolla
komrad, я вам очень благодарна.
Единственное что мне сложно прочесть функцию саму связку функций очень прошу если не сложно напишите пожалуйста
чтоб я поняла


елсли не сложно поставьте запятые, а то мы в прострации после прочтения связки
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Уважаемые форумчане помогите пожалуйста вставить нули перед перечислением
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]