Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по типу данных / 7 сообщений из 7, страница 1 из 1
12.11.2002, 07:59:01
    #32066730
rom900
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по типу данных
Добрый день. Не могли бы вы сказать, каким образом в
сервере MSSQL сделать так, чтобы выводилось после запятой 3 знака, а не 18, 24.
...
Рейтинг: 0 / 0
12.11.2002, 08:31:26
    #32066735
Вопрос по типу данных
Используйте функцию CONVERT при выборке, если я правильно понял вопрос

DECLARE @one decimal(10,5)
SET @one=12.32324
SELECT CONVERT(decimal(10,2), CONVERT(varbinary(20), @one))
...
Рейтинг: 0 / 0
12.11.2002, 08:31:51
    #32066736
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по типу данных
А что за тип данных??
Вообще, отображение зависит от Ragional Settings на машине клиента. ( если еще и из QA то нужно потом будет поставить галку на "Use ragional setting when displaying currency, number, dates and timers" )
Кстати, есть еще Raund()
...
Рейтинг: 0 / 0
12.11.2002, 08:53:23
    #32066743
rom900
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по типу данных
Да нет. Это необходимо сделать на сервере, чтобы выводилось в результате запроса число например 7,66, а
не 7,6666666666. Если использовать тип данных поля
numeric(5,4,0), то все равно отображается больше 2,3 знаков после запятой.
length=5,precision=4,scale=0
...
Рейтинг: 0 / 0
12.11.2002, 09:03:15
    #32066747
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по типу данных
Я вам и говорю: RAUND()!!!!
...
Рейтинг: 0 / 0
12.11.2002, 09:43:06
    #32066762
rom900
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по типу данных
А как использовать RAUND в запросах и не ужели кроме RAUND нет другого способа.
Запрос например такой:

select Tab.device,Sum(R1),Sum(R2) from
(select a_data_general.device ,
R1=(case when (a_data_general.ats='28') then (Count(a_data_general.ats)/a_por.mar)/'1' end),
R2=(case when (a_data_general.ats='21') then (Count(a_data_general.ats)/a_por.mar)/'1' end)
from a_data_general,a_por
where (a_por.device=a_data_general.device) and (a_por.ats=a_data_general.ats)
and (a_data_general.device<>'2-ГИ') and (a_data_general.device<>'2-ГИМ')
and (a_data_general.device<>'ЭВРД')
and (dt >= '20021007 00:00:00') and (dt <= '20021023 23:59:59') and datepart(hh, dt) >= 1
and datepart(hh, dt) < 23 and datepart(dw, dt) NOT IN (1,7)
group by a_data_general.ats,a_data_general.device,a_por.mar,porog )
Tab
group by Tab.device
...
Рейтинг: 0 / 0
12.11.2002, 12:41:36
    #32066876
rom900
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по типу данных
Посмотрел в помощи для SQL-сервера и нашел там по
RОUND. После этого запрос приобрел вид:

select Tab.device,Sum(R1),Sum(R2) from
(select a_data_general.device ,
R1=(case when (a_data_general.ats='28') then Round((Count(a_data_general.ats)/a_por.mar)/'1',3) end),
R2=(case when (a_data_general.ats='21') then Round((Count(a_data_general.ats)/a_por.mar)/'1',3) end)
from a_data_general,a_por
where (a_por.device=a_data_general.device) and (a_por.ats=a_data_general.ats)
and (a_data_general.device<>'2-ГИ') and (a_data_general.device<>'2-ГИМ')
and (a_data_general.device<>'ЭВРД')
and (dt >= '20021007 00:00:00') and (dt <= '20021023 23:59:59') and datepart(hh, dt) >= 1
and datepart(hh, dt) < 23 and datepart(dw, dt) NOT IN (1,7)
group by a_data_general.ats,a_data_general.device,a_por.mar,porog )
Tab
group by Tab.device

Всем большое спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по типу данных / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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