Довольно прямой вопрос, я хочу хранить ноги и дюймы в 1 столбце, используя десятичный знак, но я не хочу, чтобы он был усечен, как и тип float.Какой лучший тип данных для хранения высоты?
ответ
Храните все свои данные в MKS (метрические). При представлении и хранении данные преобразуются в международный стандарт. и сохраните его в десятичном типе.
Таким образом, если ваш инструмент для сбора данных в 6'2" формат конвертировать его в см и сохранить в таблице данных. Затем изменить это на дисплее.
Сохраняя в стандартном формате десятичного см. Вывод люди с таким же диапазоном высоты легче, где, как если бы Ft и In находились в отдельных столбцах, диапазоны действительно тяжелые.
Вам не нужно идти к метрике, чтобы получить базу 10. Дюймы основаны на 10 и могут храниться в десятичной системе. В этом отношении ноги также являются основанием 10, а дробные ноги могут быть преобразованы в дюймы. – Paparazzi
Правильно, это было скорее вопросом стандартизации данных (MKS), чтобы иметь лучшую отправную точку, которая позволит регионализовать данные. Например, мой рост 6'2 "может быть сохранен как 6.16667 фута Только английские системы мертвы. –
В США регионализация - футы/дюймы. Я google MKS и ничего не нахожу – Paparazzi
Использование DECIMAL Тип данных
Это позволяет определить точность, необходимую для ваших конкретных потребностей, без усечения как FLOAT
NUMERIC()
или DECIMAL()
будет работать для одного ответа на колонке, но вам нужно решайте, сохраняете ли вы ноги или дюймы. Эти поля используют точную математику и точное хранилище.
Если вы должны хранить ноги и дюймы, вам нужно либо определить свой собственный тип данных (что довольно сложно), либо использовать два поляили DECIMAL()
.
Не то, чтобы вы когда-либо сталкивались с проблемами точности с ногами или дюймами с FLOAT
при измерении чего-то размером с человека. У тебя будет волосы. Буквально.
Имперская единица системы все еще используется в Мьянме, Либерия, и что одна страна в Северной Америке, к сожалению, не очень no native data-type для обработки странной базы 12/base3/base1860 для этого.
Вы должны использовать гораздо более широко используемую метрическую систему и использовать значение FLOAT или DECIMAL, представляющее метры.
Однако, если вы действительно хотите остаться с имперской системой, вы должны сохранить значение в дюйме и вести разговор до ног + дюйм на уровне графического интерфейса пользователя.
Соединенные Штаты рассмотрят возможность перехода к метрике, когда Европа выбирает язык для выступления. –
Соединенные Штаты рассмотрят возможность перехода к метрике, когда он устает от участия в эксклюзивном клубе с Ливией и Бирмой. Я бы проголосовал за этот глупый комментарий, если мог. – duffymo
Decimal позволяет хранить точную точность.
Вопрос в том, хотите ли вы хранить его в футах или дюймах.
Если дюймов затем: ноги * 12 + дюймов
Если ступни: ноги + (дюймы/12)
Если дюймов конверсия назад
declare @inches dec(8,4)
declare @indesinfoot as dec(8,4);
set @indesinfoot = 12;
set @inches = (12*@indesinfoot) + 6.25;
print @inches;
SELECT cast(@inches/@indesinfoot as Int) as feet,
inches % @indesinfoot AS inches;
Я бы с дюймов, так как вы можете получить некоторую ошибку округления с делением, но не с умножением.
Пример процедуры преобразования старой английской системы в метрику. Нет проверки ошибок, но это даст вам представление о том, как преобразовать данные, введенные в данные для хранения.
CREATE PROCEDURE usp_ConvertHeight
@Input varchar(10)
AS
BEGIN
DECLARE
@FT AS DECIMAL(18,10) = 0,
@IN AS DECIMAL(18,10) = 0,
@CM AS DECIMAL(18,10)
SELECT @FT = CAST(left(@Input,CHARINDEX('''',@Input,1) - 1) AS DECIMAL(18,10));
SELECT @IN = CAST(REPLACE(SUBSTRING(@Input,CHARINDEX('''',@Input,1) + 1,10),'"','')AS DECIMAL(18,10));
SET @CM = 2.54 * ((12 * @FT) + @IN);
SELECT @CM
END
Я предлагаю store the data in single unit,either inches or in cm.
В идеале дать возможность пользователю ввести его в любом формате. Преобразуйте и покажите информацию о пользователе во всех возможных единицах, например, в футах и дюймах и см.
- 1. Какой лучший тип данных SQL для хранения строки JSON?
- 2. Лучший тип данных для хранения одной цифры?
- 3. Лучший тип данных для хранения html
- 4. Лучший тип данных для хранения списка строк?
- 5. Какой тип данных используется для хранения фракций?
- 6. Какой лучший способ хранения данных в Android?
- 7. Лучший тип дерева для хранения слов повторением
- 8. Какой тип данных используется для хранения данных пользователей?
- 9. Какой тип данных я должен использовать для хранения текстовых данных?
- 10. Какой будет лучший тип данных для хранения изображений и видео в базе данных oracle?
- 11. Какой тип поля для хранения токена facebook?
- 12. Какой тип столбца mysql для хранения дампа?
- 13. Какой тип поля для хранения сообщения facebook?
- 14. Какой тип поля для хранения тегов facebook?
- 15. Какой лучший тип документа?
- 16. Тип для хранения текста в базе данных
- 17. Что такое лучший тип базы данных для хранения UID facebook?
- 18. Лучший тип данных для хранения выбора 1, 2 или 3
- 19. Лучший тип данных для хранения ARS ARS в MySQL?
- 20. Лучший тип данных MySQL для хранения хэша MD5 или NULL
- 21. Лучший тип данных MySQL для хранения lat/long
- 22. Лучший тип данных VB.NET для хранения значений валюты
- 23. SQL Server - лучший тип данных для хранения большого значения строки
- 24. Лучший тип данных для коллекции
- 25. Тип MySQL данных для хранения Отрицательное число
- 26. Лучший тип файла для хранения одного значения для множественного доступа:
- 27. Какой тип данных MySQL используется для хранения логических значений
- 28. Какой тип данных SQL Server следует использовать для хранения байта []
- 29. Какой тип данных/структура для хранения информации о списке файлов?
- 30. Какой тип данных я должен использовать для хранения денежных значений?
Почему бы вам не сохранить его в дюймах и представить его в виде ног и дюймов в пользовательском интерфейсе? –
десятичная цифра для нумерации базы-10. дюймы/футы - это что-то BUT base-10. –
@MarcB Действительно, вы не можете конвертировать дюймы в футы и дюймы? – Paparazzi