Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 добавить значение в поле таблицы  [new]
denis_stell
Member

Откуда:
Сообщений: 255
Доброго дня!
Подскажите пожалуйста, как реализовать?
Есть таблица, в ней есть столбец NAME_ACCOUNT(наименование счета), сейчас оно содержит наименование счета, например Иванов Иван Иванович, мне необходимо проапдейтить эти поля, но так чтобы получилось в таком роде "Просроченные проценты (Иванов И.И.)" или хотя бы так "Просроченные проценты - Иванов Иван Иванович". Как так сделать не пойму.
Т.е. необходимо вставить некоторую строчку перед ФИО
или как-то insert использовать...
9 июл 12, 13:43    [12838531]     Ответить | Цитировать Сообщить модератору
 Re: добавить значение в поле таблицы  [new]
Glory
Member

Откуда:
Сообщений: 104760
denis_stell
Т.е. необходимо вставить некоторую строчку перед ФИО
или как-то insert использовать...

Строки конкатенируются оператором +(плюс)
9 июл 12, 13:45    [12838540]     Ответить | Цитировать Сообщить модератору
 Re: добавить значение в поле таблицы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
update [Есть таблица]
set NAME_ACCOUNT = 'Просроченные проценты - ' + NAME_ACCOUNT
9 июл 12, 13:45    [12838541]     Ответить | Цитировать Сообщить модератору
 Re: добавить значение в поле таблицы  [new]
denis_stell
Member

Откуда:
Сообщений: 255
Гавриленко Сергей Алексеевич
update [Есть таблица]
set NAME_ACCOUNT = 'Просроченные проценты - ' + NAME_ACCOUNT


ага,точно,пасиб.
про конкатенацию забыл вовсе.
9 июл 12, 13:52    [12838605]     Ответить | Цитировать Сообщить модератору
 Re: добавить значение в поле таблицы  [new]
denis_stell
Member

Откуда:
Сообщений: 255
а не подскажете ещё, каким методом пойти,чтобы получить значение "Просроченные проценты - (Иванов И.И.)" ?
9 июл 12, 13:55    [12838634]     Ответить | Цитировать Сообщить модератору
 Re: добавить значение в поле таблицы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
denis_stell
а не подскажете ещё, каким методом пойти,чтобы получить значение "Просроченные проценты - (Иванов И.И.)" ?
Методом нормализации и разделения поля ФИО на три разных поля.
9 июл 12, 13:56    [12838646]     Ответить | Цитировать Сообщить модератору
 Re: добавить значение в поле таблицы  [new]
.Anatoly.
Member

Откуда: Екатеринбург
Сообщений: 310
denis_stell, была подобная ситуация, написал вот такую функцию
CREATE FUNCTION [dbo].[ShortenFullName]
(
	@FullName varchar(45)
)
RETURNS varchar(25)
AS
BEGIN
	IF LEN(@FullName) > 25
	BEGIN

		SET	@FullName = 
			Upper(SubString(ltrim(rtrim(@FullName)),1,1))+Lower(Substring(ltrim(rtrim(@FullName)),2,CharIndex(' ',ltrim(rtrim(@FullName)))-2))
			+' '
			+Upper(SubString(Ltrim(Substring(@FullName,CharIndex(' ',ltrim(rtrim(@FullName))),Len(@FullName))),1,1))
			+'.'
			+Upper(SubString(
				Ltrim(Substring(@FullName,CharIndex(' ',ltrim(rtrim(@FullName))),Len(@FullName))) 
				,CharIndex(' ',Ltrim(Substring(@FullName,CharIndex(' ',ltrim(rtrim(@FullName))),Len(@FullName))))+1
				,1
			))
			+'.'
	END
	RETURN @FullName;
END


Но здесь очень много допущений. Например "Иванов Иван Иванович" отработает правильно, а "Иван Иванович Иванов" уже нет.
Так что, как отметил Гавриленко Сергей Алексеевич, правильней будет разделить ФИО на 3 поля.
9 июл 12, 14:05    [12838718]     Ответить | Цитировать Сообщить модератору
 Re: добавить значение в поле таблицы  [new]
denis_stell
Member

Откуда:
Сообщений: 255
Гавриленко Сергей Алексеевич,

спасибо
9 июл 12, 14:24    [12838843]     Ответить | Цитировать Сообщить модератору
 Re: добавить значение в поле таблицы  [new]
denis_stell
Member

Откуда:
Сообщений: 255
.Anatoly.,
спасибо,буду пробовать.
9 июл 12, 14:24    [12838847]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить