Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: max number  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Ken@t
1. И какого тогда ,буя, поле в БД varchar(50) ?
Может у него оооочень большие целые числа!
5 июл 11, 11:13    [10922901]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
Ken@t
Aleksandrx
пропущено...


В поле Number у меня исключительно цифры


1. И какого тогда ,буя, поле в БД varchar(50) ?
2. При оформлении пользуйтесь тэгом SRC
3. БОЛ откройте наконец.


Поле заполнено исключительно цифрамы при WHERE IdClient = 12 (это наши документы)

а в других варианта потенциально может быть и varchar (если документы других клиентов я не могу знать с каким номером цифровим, буквенном или то и другое
5 июл 11, 11:17    [10922931]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Aleksandrx, добавьте ведущие нули тогда и сравнивайте
... MAX(RIGHT(REPLICATE(' ', 50) + COLUMN), 50)
5 июл 11, 11:21    [10922970]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
опечатка, REPLICATE('0', 50)
5 июл 11, 11:21    [10922979]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
Shakill
Aleksandrx, добавьте ведущие нули тогда и сравнивайте
... MAX(RIGHT(REPLICATE(' ', 50) + COLUMN), 50)


ALTER PROCEDURE dbo.NumberMaxDocumentMeny (@CodeClient int, @Number varchar OUTPUT)
	
AS
BEGIN

if @CodeClient > 0  SELECT @Number = MAX (RIGHT(REPLICATE('0',50)+ DocumentMeny.Name),50)
FROM DocumentMeny 
WHERE     DocumentMeny.IdNameClient1=@CodeClient
 
RETURN(0)
END
5 июл 11, 11:35    [10923111]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
Ошибка 2 аргумента
5 июл 11, 11:36    [10923115]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Glory
Member

Откуда:
Сообщений: 104751
Aleksandrx
Ошибка 2 аргумента

Скобки правильно нужно ставить
5 июл 11, 11:40    [10923151]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
Aleksandrx
Ошибка 2 аргумента

Уже не смешно ((
5 июл 11, 11:41    [10923163]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
Ken@t
Aleksandrx
Ошибка 2 аргумента

Уже не смешно ((


Что то я не могу понять, где и в каком месте
5 июл 11, 11:47    [10923225]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Aleksandrx
Что то я не могу понять, где и в каком месте
в моём сообщении скобка неправильно стоит
5 июл 11, 11:50    [10923262]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Glory
Member

Откуда:
Сообщений: 104751
Aleksandrx
Ken@t
пропущено...

Уже не смешно ((


Что то я не могу понять, где и в каком месте

В нужном. Если вы не можете в 3 соснах скобках разобраться, которые есть только в одном месте запроса, то может не стоит программировать ?
5 июл 11, 11:50    [10923265]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Aleksandrx
Ken@t
пропущено...

Уже не смешно ((


Что то я не могу понять, где и в каком месте
Можете посчитать количество открывающих скобок
и сравнить его с количеством закрывающих?
5 июл 11, 11:51    [10923275]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
iap
Aleksandrx
пропущено...


Что то я не могу понять, где и в каком месте
Можете посчитать количество открывающих скобок
и сравнить его с количеством закрывающих?
Упс! Количество совпадает. А у MAX получилось два аргумента
Всё-таки, чем REPLICATE('0',50) лучше SPACE(50)?
5 июл 11, 11:54    [10923303]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
iap
Aleksandrx
пропущено...


Что то я не могу понять, где и в каком месте
Можете посчитать количество открывающих скобок
и сравнить его с количеством закрывающих?


Вижу три откривающих и три закривающих.

Если возможно напримере.
5 июл 11, 11:58    [10923333]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
iap
Всё-таки, чем REPLICATE('0',50) лучше SPACE(50)?

при отладке на нули смотреть удобнее, чем на пробелы )
5 июл 11, 12:00    [10923349]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
Aleksandrx
iap
пропущено...
Можете посчитать количество открывающих скобок
и сравнить его с количеством закрывающих?


Вижу три откривающих и три закривающих.

Если возможно напримере.


Александр, выше прочитайте сообщение (от iap), там указано, в чем ошибка
5 июл 11, 12:00    [10923358]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
iap
iap
пропущено...
Можете посчитать количество открывающих скобок
и сравнить его с количеством закрывающих?
Упс! Количество совпадает. А у MAX получилось два аргумента
Всё-таки, чем REPLICATE('0',50) лучше SPACE(50)?


Ошибка 2 аргумента
5 июл 11, 12:00    [10923360]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
Aleksandrx, у попа была собака

iap
А у MAX получилось два аргумента
5 июл 11, 12:02    [10923373]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
ALTER PROCEDURE dbo.NumberMaxDocumentMeny (@CodeClient int, @Number varchar OUTPUT)
	
AS
BEGIN

if @CodeClient > 0  SELECT @Number = MAX (RIGHT(REPLICATE('0',50)+ DocumentMeny.Name),50)
FROM DocumentMeny 
WHERE     DocumentMeny.IdNameClient1=@CodeClient
 
RETURN(0)
END

The right function requires 2 argument
5 июл 11, 12:04    [10923390]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
ALTER PROCEDURE dbo.NumberMaxDocumentMeny (@CodeClient int, @Number varchar OUTPUT)

AS
BEGIN

if @CodeClient > 0 SELECT @Number = MAX (RIGHT(SPACE(50)+ DocumentMeny.Name),50)
FROM DocumentMeny
WHERE DocumentMeny.IdNameClient1=@CodeClient

RETURN(0)
END

и везде 2 аргумента
5 июл 11, 12:06    [10923418]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Aleksandrx, так наглядней?

ALTER PROCEDURE dbo.NumberMaxDocumentMeny
    (
      @CodeClient INT,
      @Number VARCHAR OUTPUT
    )
AS 
    BEGIN

        IF @CodeClient > 0 
            SELECT  @Number = MAX(
            	RIGHT(
            		REPLICATE('0', 50) + DocumentMeny.NAME
            	), 50
            )
            FROM    DocumentMeny
            WHERE   DocumentMeny.IdNameClient1 = @CodeClient
 
        RETURN(0)
    END
5 июл 11, 12:07    [10923422]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
ALTER PROCEDURE dbo.NumberMaxDocumentMeny (@CodeClient int, @Number varchar OUTPUT)

AS
BEGIN

if @CodeClient > 0 SELECT @Number = MAX (RIGHT(SPACE(50)+ DocumentMeny.Name),50)
FROM DocumentMeny 
WHERE DocumentMeny.IdNameClient1=@CodeClient

RETURN(0)
END


и везде 2 аргумента
5 июл 11, 12:07    [10923423]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
Александр

create table #test1
(
id		varchar(30),
name	char(10)
)
go

insert into #test1 (id, name)
values (12, 'Vasya')
insert into #test1 (id, name)
values (15, 'Petya')

select max(right(Replicate ('0',50)+id,50))
from #test1
5 июл 11, 12:09    [10923442]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Aleksandrx
Member

Откуда:
Сообщений: 122
kDnZP
Aleksandrx, так наглядней?

ALTER PROCEDURE dbo.NumberMaxDocumentMeny
    (
      @CodeClient INT,
      @Number VARCHAR OUTPUT
    )
AS 
    BEGIN

        IF @CodeClient > 0 
            SELECT  @Number = MAX(
            	RIGHT(
            		REPLICATE('0', 50) + DocumentMeny.NAME
            	), 50
            )
            FROM    DocumentMeny
            WHERE   DocumentMeny.IdNameClient1 = @CodeClient
 
        RETURN(0)


    END


ДА Спасибо!!! так действительно наглядней
5 июл 11, 12:10    [10923446]     Ответить | Цитировать Сообщить модератору
 Re: max number  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
есть
MAX (RIGHT(SPACE(50)+ DocumentMeny.Name),50)
надо
MAX (RIGHT((SPACE(50)+ DocumentMeny.Name),50))
вы вообще читаете что пиешете ?
5 июл 11, 12:10    [10923449]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить