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

Откуда:
Сообщений: 208
Приветствую!
Как можно заменить выводимый результат колонки:
SELECT database_state_desc from sys.dm_hadr_database_replica_states

Заменить NULL на Secondary а Online на Primary?
7 фев 18, 06:42    [21171776]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Den_KP,

case
7 фев 18, 06:48    [21171782]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Den_KP
Member

Откуда:
Сообщений: 208
Еще 2 вопроса
SELECT 
CASE  database_state_desc 
WHEN 'ONLINE' then 'Primary'
end
from sys.dm_hadr_database_replica_states

Не меняется NULL не текстом ни как
null

и Второй вопрос: Как сделать выгрузку типа:
SELECT  *
CASE  database_state_desc 
WHEN 'ONLINE' then 'Primary'
end
from sys.dm_hadr_database_replica_states

При попытке вывести все поля выдаете ошибку
7 фев 18, 08:25    [21171858]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Кусочек
Guest
Den_KP
Еще 2 вопроса
SELECT 
CASE  database_state_desc 
WHEN 'ONLINE' then 'Primary'
end
from sys.dm_hadr_database_replica_states

Не меняется NULL не текстом ни как
null

и Второй вопрос: Как сделать выгрузку типа:
SELECT  *
CASE  database_state_desc 
WHEN 'ONLINE' then 'Primary'
end
from sys.dm_hadr_database_replica_states

При попытке вывести все поля выдаете ошибку


2. После символа * кто будет ставить за вас запятую?

1. По поводу NULL
7 фев 18, 08:31    [21171867]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Kopelly
Member

Откуда: Красноярск
Сообщений: 289
Den_KP,

SELECT  *
,
CASE  
WHEN database_state_desc  = 'ONLINE' then 'Primary'
When database_state_desc is null Then Secondary 
else database_state_desc end
from sys.dm_hadr_database_replica_states
7 фев 18, 08:32    [21171871]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Kopelly
Member

Откуда: Красноярск
Сообщений: 289
Кавычки забыл:
When database_state_desc is null Then 'Secondary'
7 фев 18, 08:36    [21171879]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Den_KP
Member

Откуда:
Сообщений: 208
Kopelly
Den_KP,

SELECT  *
,
CASE  
WHEN database_state_desc  = 'ONLINE' then 'Primary'
When database_state_desc is null Then Secondary 
else database_state_desc end
from sys.dm_hadr_database_replica_states

Спасибо, да получилось
7 фев 18, 08:41    [21171891]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Добрый Э - Эх
Guest
Den_KP,

select str_
     , isnull(nullif(isnull(str_,'Secondary'),'Online'),'Primary') as new_str
  from (
         select cast('Online' as varchar(10)) as str_
         union all
         select NULL
       ) v
7 фев 18, 08:42    [21171892]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Den_KP
Member

Откуда:
Сообщений: 208
Kopelly
Кавычки забыл:
When database_state_desc is null Then 'Secondary'

Тут проблема что он ругается на is - Incorrect syntax near the keyword 'is'.
7 фев 18, 08:42    [21171893]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Добрый Э - Эх
Guest
Den_KP,

select str_
     , replace(isnull(str_,'Secondary'),'Online','Primary') as new_str
  from (
         select cast('Online' as varchar(10)) as str_
         union all
         select NULL
       ) v
7 фев 18, 08:44    [21171896]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Den_KP
Member

Откуда:
Сообщений: 208
Добрый Э - Эх
Den_KP,

select str_
     , replace(isnull(str_,'Secondary'),'Online','Primary') as new_str
  from (
         select cast('Online' as varchar(10)) as str_
         union all
         select NULL
       ) v

Спасибо, но он же не делает выборку из таблицы sys.dm_hadr_database_replica_states
Попробовал несколько вариация чтобы вытащить с базы, не удалось((((
7 фев 18, 08:49    [21171906]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Добрый Э - Эх
Guest
Den_KP,

у тебя ошибка в 17-й строке. такое исправить трудно, но правильный ответ - 42.
7 фев 18, 08:52    [21171910]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Den_KP
Member

Откуда:
Сообщений: 208
Разобрался, только осталось обозвать NULL как Secondary
7 фев 18, 09:01    [21171924]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
Кусочек
Guest
Den_KP
Разобрался, только осталось обозвать NULL как Secondary


Я Вам дала ссылку на документацию, Добрый выше привел пример использования:(
7 фев 18, 09:51    [21172033]     Ответить | Цитировать Сообщить модератору
 Re: Замена слова-значения результата из SELECT  [new]
iap
Member

Откуда: Москва
Сообщений: 46953
Кусочек
1. По поводу NULL
Не работает ... where in (select a ....
7 фев 18, 10:58    [21172343]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить