Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / MDB -> ADP / 10 сообщений из 10, страница 1 из 1
26.05.2004, 01:36
    #32533631
Alexander Say
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
В MDB запросе было:
SELECT [ID], [Str1] & ("."+[Str2]) AS VarNum FROM Tab
как это перефразировать под ADP ?
...
Рейтинг: 0 / 0
26.05.2004, 09:12
    #32533767
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
типа этого
Код: plaintext
SELECT [ID], [Str1] + CASE WHEN [Str2] IS NULL then N'' ELSE N'.'+[Str2] END AS VarNum FROM Tab 
...
Рейтинг: 0 / 0
26.05.2004, 11:02
    #32533984
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
еще :

Код: plaintext
SELECT ID, Str1 +  '.' + ISNULL(Str,'')  AS VarNum FROM Tab 



2
Код: plaintext
SET CONCAT_NULL_YIELDS_NULL  ON

3 можно поставить эту опцию для всей ДБ по умолчанию

4 вроде можно поставить свойства коннекшена для склеивания с нулом ?
Код: plaintext
Connection.Properties("NULL Concatenation Behavior") = DBPROPVAL_CB_NULL
...
Рейтинг: 0 / 0
26.05.2004, 11:08
    #32533995
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
2АлексейК

п.1 не катит - будет всегда точка в конце, а она не нужна
п.2 не катит - так как либо будет NULL для всей строки либо, опять же, всегда будет точка в конце
п.3. - см. п.2
...
Рейтинг: 0 / 0
26.05.2004, 11:13
    #32534009
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
ISNULL('.' + Str,'')

?
...
Рейтинг: 0 / 0
26.05.2004, 11:15
    #32534014
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
вариант paparome лучший :)

Код: plaintext
SELECT [ID], [Str1] + ISNULL('.' + [Str2],'') AS VarNum FROM Tab 
...
Рейтинг: 0 / 0
26.05.2004, 12:21
    #32534218
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
ну вот , запинали ))

так будет быстрее всего:

Код: plaintext
SELECT [ID], [Str1] + COALESCE ('.' + [Str2],'') AS VarNum FROM Tab
...
Рейтинг: 0 / 0
26.05.2004, 12:23
    #32534231
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
автортак будет быстрее всего:
обоснуйте почему функция COALESCE, будет быстрее функции ISNULL?
...
Рейтинг: 0 / 0
26.05.2004, 12:27
    #32534250
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
видимо код у нее другой, более быстрый ,

в соседнем форуме был топик по выбору оптимальных функций - был сделан вывод что COALESCE быстрее ISNULL
...
Рейтинг: 0 / 0
26.05.2004, 12:32
    #32534274
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDB -> ADP
После сложения строк NULL
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / MDB -> ADP / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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