Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / выбор типа данных ... / 22 сообщений из 22, страница 1 из 1
01.08.2002, 17:36:33
    #32040398
harrytv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Какой тип данных предпочтительнее выбрать
для полей типа оклад, часы рабочие и т.п., которые затем
будут множиться и делиться?
Стоит ли использовать MONEY,SMALLMONEY или не грузиться и забить везде numeric(18,2) и не думать о размере базы.
...
Рейтинг: 0 / 0
01.08.2002, 17:38:24
    #32040400
Rom
Rom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
тема не раз обсуждалась, используй поиск по форуму
...
Рейтинг: 0 / 0
01.08.2002, 17:39:23
    #32040401
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Где-то был топик по поводу money, поищи

Но money для денег и придуман вообще-то. Ну и часы рабочие туда можно положить.................
...
Рейтинг: 0 / 0
01.08.2002, 17:41:09
    #32040402
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
если мне не изменяет память тип моней округляет не так как принято в РОССИИ...
помоему к ближайшему четному...
с нумерик не работаю ... использую дуцимал...
хоть и говорят что это одно и тоже.... это на сервере а вот тип оледб разный...
...
Рейтинг: 0 / 0
01.08.2002, 17:43:50
    #32040403
harrytv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
В форуме мнения противоречивые.
Основной вопрос: насколько существенно для сервера
увеличение размера базы на 40байт*число записей =
400К максимум.
...
Рейтинг: 0 / 0
01.08.2002, 17:44:07
    #32040404
Maxx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
ТОже работаю с нумерик или флоат
...
Рейтинг: 0 / 0
01.08.2002, 17:59:45
    #32040412
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
а вот флоат не люблю.... ну приближенный тип данных по сущности...
инагда такое выкидывает....
увеличиваю прецессион до нужного количества
...
Рейтинг: 0 / 0
01.08.2002, 18:04:41
    #32040417
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
ЗЫ.. увелечение рамера не важно...
а вот вычисления ... да... мэээдленее..
...
Рейтинг: 0 / 0
01.08.2002, 19:49:17
    #32040472
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Money придуман для американских денег.

Для России
Оклад/тариф - numeric(n,2)
Время - numeric(m,1)
Сдельные расценки - numeric(k,3)

Иногда результат придется и round обернуть.
Во многом это зависит на каком калькуляторе будут проверять Ваши расчеты.

Вопрос действительно довольно часто обсуждается.
...
Рейтинг: 0 / 0
02.08.2002, 09:19:47
    #32040507
Sanek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
re : MiCe

А можно чуть по подробней про money ?
я посмотрел, округляет вроде правильно ... ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @x money
set @x =  2 . 55225 
Select @x
RESULT :  2 . 5523 

declare @x money
set @x =  2 . 55224 
Select @x
RESULT :  2 . 5522 


Или я что то не так понял ?
...
Рейтинг: 0 / 0
02.08.2002, 09:28:28
    #32040511
Зайцев Фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Я тоже не понял.
Пояснните к.н., ПлЗ!
...
Рейтинг: 0 / 0
02.08.2002, 10:34:31
    #32040528
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Код: plaintext
1.
2.
3.
4.
declare @x money
set @x = cast( 2 . 0  as money)
declare @y money
set @y = cast( 3 . 0  as money)
Select   @x ,@y ,@x/@y 
...
Рейтинг: 0 / 0
02.08.2002, 10:37:49
    #32040529
Sanek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
ответ .6666
что не так ?
...
Рейтинг: 0 / 0
02.08.2002, 10:38:44
    #32040531
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
правильно .6667....
...
Рейтинг: 0 / 0
02.08.2002, 10:45:35
    #32040535
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Код: plaintext
1.
2.
3.
4.
declare @x money, @y money,@z money
set @x = cast( 2 . 0  as money)
set @y = cast( 3 . 0  as money)
set @z=(@x/@y)*@y
Select   @x ,@y ,@x/@y ,@z

.............
...
Рейтинг: 0 / 0
02.08.2002, 10:47:48
    #32040536
Sanek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Странно !
Тогда получается что все считается неверно !:)
2/3 = 0,6 в периоже

Float получилась 0,66666...63
Money 0.6666
numeric(5,2) - .66666666

значит все неверно ?
...
Рейтинг: 0 / 0
02.08.2002, 10:55:23
    #32040541
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Код: plaintext
1.
2.
3.
4.
declare @x numeric( 18 , 4 ), @y numeric( 18 , 4 ),@z numeric( 18 , 4 )
set @x = cast( 2 . 0  as numeric( 18 , 4 ))
set @y = cast( 3 . 0  as numeric( 18 , 4 ))
set @z=(@x/@y)*@y
Select   @x ,@y ,@x/@y ,@z

Код: plaintext
1.
2.
3.
4.
declare @x numeric( 18 , 4 ), @y numeric( 18 , 4 ),@z numeric( 18 , 4 )
set @x = cast( 2 . 0  as numeric( 18 , 4 ))
set @y = cast( 3 . 0  as numeric( 18 , 4 ))
set @z=(@x/@y)*@y
Select   @x ,@y ,cast(@x/@y as numeric( 18 , 4 )) ,@z

Код: plaintext
1.
2.
3.
4.
declare @x numeric( 18 , 4 ), @y numeric( 18 , 4 ),@z numeric( 18 , 4 )
set @x = cast( 2 . 0  as numeric( 18 , 4 ))
set @y = cast( 3 . 0  as numeric( 18 , 4 ))
set @z=cast((@x/@y) as numeric( 18 , 4 ))*@y
Select   @x ,@y ,cast(@x/@y as numeric( 18 , 4 )) ,@z

Код: plaintext
1.
2.
3.
4.
declare @x numeric( 18 , 4 ), @y numeric( 18 , 4 ),@z numeric( 18 , 4 )
set @x = cast( 2 . 0  as numeric( 18 , 4 ))
set @y = cast( 3 . 0  as numeric( 18 , 4 ))
set @z=cast((@x/@y) as numeric( 20 , 6 ))*@y
Select   @x ,@y ,cast(@x/@y as numeric( 18 , 4 )) ,@z

я просто хочу показать что в numeric все это подконтрольно.....
...
Рейтинг: 0 / 0
02.08.2002, 11:05:34
    #32040546
Sanek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Вот блин !
Спасибо ! Это очень важное замечание !
...
Рейтинг: 0 / 0
02.08.2002, 11:15:40
    #32040550
MarchCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Господа я повторюсь ...
Если вы хотите хранить сальдо или сумму операции то лучше децимала нет. (18.2) Лучше для хранения наших росийских денег нет (и нетолько денег). Я допускаю что в России есть несколько задач в которых нельзя использовать децимал из-за нескольких форматов используемых денег и общей крутизны софта. Если вы думаете что это именно ваша задача то Вы ошибаетесь! :)))) Используйте децимал и не думайте об экономии ... лучше экономте на текстовых полях ... а то децимал использовать не будем ... он много места занимает ... а потом в таблице идут 6 полей по 650 символов .... полный привет!

PS Надеюсь что автор этой таблицы это прочтет ...
...
Рейтинг: 0 / 0
02.08.2002, 11:17:33
    #32040552
Serg_Cat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Это конечно интересно, что для numeric(18,4) после деления @x на @y в получившемся результате остается больше 4 знаков после запятой. (Интересно какой тип имеет результат). А вы уверены, что в новой версии он не поведет себя как money или int?
Я склоняюсь к мнению, что нет.
А зато вот на клиенте...тип numeric может быть приведен не обязательно к currency, и тогда без косяков не обойтись.
...
Рейтинг: 0 / 0
02.08.2002, 11:43:21
    #32040566
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
я использую децимал, а не нумерик...
внутри сервера это одно и тоже..
а тип данных OLEDB разный....
в .NET framework есть тип данных аналог децимал в sql...
...
Рейтинг: 0 / 0
02.08.2002, 14:06:29
    #32040605
harrytv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выбор типа данных ...
Спасибо, вы развеяли мои сомнения ...
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / выбор типа данных ... / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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