Имя: Пароль:
1C
1C 7.7
v7: Подскажите функцию в Transact-SQL
0 МастерВопросов
 
24.03.12
06:37
Аналог 1С-ного Найти(<Строка1>,<Строка2>).

Есть две таблицы, в одной в поле "DESCR" лежит "Иванов Иван Иванович" в другой в соответ.поле лежит "Иванов И.И.", или наоборот. Нужно сединить эти две таблицы по этим полям.

Что-нить типа:
(SUBSTRING(LTRIM(RTRIM(Таб1.DESCR)),1,10)=SUBSTRING(LTRIM(RTRIM(Таб2.DESCR)),1,10)
только вместо "10" надо подставить (расстояние до первого пробела+1).
А то есть родственники с одинаковыми фамилиями, но разными ИО.
1 mehfk
 
24.03.12
06:48
CHARINDEX
Returns the starting position of the specified expression in a character string.

Syntax
CHARINDEX ( expression1 , expression2 [ , start_location ] )
2 МастерВопросов
 
24.03.12
06:55
(1) спасибо, но
CHARINDEX(LTRIM(RTRIM(Таб1.DESCR)),' ') возвращает всегда 0.
3 МастерВопросов
 
24.03.12
06:58
понял, надо так:
CHARINDEX(' ',LTRIM(RTRIM(Таб1.DESCR)),1)
4 МастерВопросов
 
24.03.12
07:01