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

Откуда:
Сообщений: 521
Добрый день. Прошу прощения за неграмотность,ибо не шибко опытный.
Написал запрос, который выдает поля и значения. Поле Количество и Доступное количество нужно обрезать до точки(т.е. без нулей). Подскажите, будьте добры, как
Вот запрос


select top (300000) CONVERT(varchar(5), a.log_TransactionTypeID) + ' - '+ c.msg_Greek as [Тип складской операции],convert(varchar(10),g.prd_PrimaryCode )+' - '+h.prdl_Description as [Товар],f.lsk_CUQuantity as [Количество],f.lsk_CUQuantityFree as [Доступное кол-во],f.lsk_LocationID as [какая-то муть],i.usr_ID as [Пользователь],(j.per_LastName + ' ' + j.per_Firstname) as [ФИО]
from LV_Log a
join LV_TransactionType b on b.trt_ID = a.log_TransactionTypeID
join LV_Messages c on c.msg_code = b.trt_MessageCode
join LV_LogStock f on f.lsk_LogID = a.log_ID
join LV_Product g on g.prd_ID = f.lsk_ProductID
join LV_ProductLang h on h. prdl_ProductID = g.prd_ID
join LV_Users i on i.usr_ID = a.log_UserID
join COM_Person j on j.per_ID = i.usr_ID



where c.msg_ID = '4578' or c.msg_ID='4805' or c.msg_ID = '3861' or c.msg_ID = '4709' or c.msg_ID = '5212' or c.msg_ID = '4777' or c.msg_ID = '3272' or c.msg_ID = '3326' or c.msg_ID = '5398' or c.msg_ID = '5402' or c.msg_ID = '4111' or c.msg_ID = '5516' or c.msg_ID = '4766' or c.msg_ID = '4659' or c.msg_ID = '5358' or c.msg_ID = '4781' or c.msg_ID = '4730' or c.msg_ID = '4707' or c.msg_ID = '4685' or c.msg_ID = '3004' or c.msg_ID = '5217' or c.msg_ID = '4532'


Вот что выдает

Тип скл-й операции Товар Количество Доступное
количество какая-то муть Пользователь ФИОР
8 - Коррекция 101286 - Бумага (100*150) для стр.принтеров LOMOND 230гр (5 5.000000 5.000000 36416 322 Калякина И.П.
8 - Коррекция 101286 - Бумага (100*150) для стр.принтеров LOMOND 230гр (5 5.000000 5.000000 36416 322 Калякина И.П.
8 - Коррекция 101286 - Бумага (100*150) для стр.принтеров LOMOND 230гр (5 72.000000 72.000000 36416 322 Калякина И.П.
8 - Коррекция 101286 - Бумага (100*150) для стр.принтеров LOMOND 230гр (5 72.000000 72.000000 36416 322 Калякина И.П.
8 - Коррекция 158174 - Калькулятор научный SR-270XPU 10+2 разряда. 274 фу 15.000000 15.000000 36416 322 Калякина И.П.
8 - Коррекция 158174 - Калькулятор научный SR-270XPU 10+2 разряда. 274 фу 15.000000 15.000000 36416 322 Калякина И.П.
8 - Коррекция 158174 - Калькулятор научный SR-270XPU 10+2 разряда. 274 фу 440.000000 440.000000 36416 322 Калякина И.П.
8 - Коррекция 158174 - Калькулятор научный SR-270XPU 10+2 разряда. 274 фу 440.000000 440.000000 36416 322 Калякина И.П.
16 сен 15, 09:27    [18154477]     Ответить | Цитировать Сообщить модератору
 Re: Сокре\ащение цифровых данных в поле  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 521
Опять какую-то муть выдал..емае
16 сен 15, 09:27    [18154478]     Ответить | Цитировать Сообщить модератору
 Re: Сокре\ащение цифровых данных в поле  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 521
В общем,как убрать нули после точки?
16 сен 15, 09:28    [18154479]     Ответить | Цитировать Сообщить модератору
 Re: Сокре\ащение цифровых данных в поле  [new]
top (99999999999)
Guest
Максим Александровитч,

на клиенте формат отображения задай.
если разовая выгрузка и это пойдет куда-то как отчет - round/cast с нужным кол-вом знаков
16 сен 15, 09:43    [18154519]     Ответить | Цитировать Сообщить модератору
 Re: Сокре\ащение цифровых данных в поле  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Максим Александровитч
f.lsk_LocationID as [какая-то муть],

какого типа ето поле ? Иили какое поле вам таки округлить то надо?
Максим Александровитч
],f.lsk_CUQuantity as [Количество],f.lsk_CUQuantityFree as [Доступное кол-во],

Если типп числовой - то cast( поле as int)
16 сен 15, 09:43    [18154525]     Ответить | Цитировать Сообщить модератору
 Re: Сокре\ащение цифровых данных в поле  [new]
o-o
Guest
по виду это они вместо int задали decimal(n,6) для количества.
части калькуляторов учитывают аж с точностью 6 знаков
16 сен 15, 09:48    [18154540]     Ответить | Цитировать Сообщить модератору
 Re: Сокре\ащение цифровых данных в поле  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 521
Тип поля numeric.Написал
cast(f.lsk_CUQuantity as num (4)) as [Количество]
Ошибка
Type num is not a defined system type.
16 сен 15, 09:56    [18154575]     Ответить | Цитировать Сообщить модератору
 Re: Сокре\ащение цифровых данных в поле  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
Максим Александровитч
num (4))

а где вы такой тип данных в сиквеле нашли ?
16 сен 15, 09:56    [18154579]     Ответить | Цитировать Сообщить модератору
 Re: Сокре\ащение цифровых данных в поле  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 521
Да,ошибься. Написал
cast(f.lsk_CUQuantity as float (6))

Выдал,как надо
16 сен 15, 09:59    [18154595]     Ответить | Цитировать Сообщить модератору
 Re: Сокре\ащение цифровых данных в поле  [new]
Максим Александровитч
Member

Откуда:
Сообщений: 521
Хотя, в справке,говорят,лучше не использовать..
16 сен 15, 10:03    [18154616]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить