2013-09-23 45 views

回答

1

對於一個ID,因爲你不應該需要小數,所以你的情況下精度爲7,刻度爲0。對於電話號碼,您可以使用varchar2或類似的東西,在這種情況下,比例和精度不適用。

您提到了ID的「字符」,但我假設它是數字。

關於甲骨文的規模和精度的文檔可以在這裏找到... http://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832

具體做法是:

...你還可以指定精度(總位數)和規模(數的小數點右邊的數字)

請注意,雖然精度和比例是可選的,你甚至可能不需要擔心它們的類似ID。

更多的例子可以在這裏找到... What is the difference between precision and scale?

+0

您是否假設電話號碼會包含非數字字符或不同國家/地區的可變長度數字? – JohnOsborne

2

對於一系列的數字,如電話號碼或社會安全號碼,或郵編,或ISBN,考慮你將在它執行哪些操作。

你會來:

  1. 加在一起,取平均值,以小數點後的數字變化代表他們,相乘等?
  2. 或者你會檢查長度,將它們分成一個模式,需要保留任何前導零,提取一組字符(前三個,後四個),將它們與正則表達式等進行比較?

如果前者,那麼他們是數字,你應該將它們存儲爲一個整數。如果是後者,那麼它們被限制爲僅由某些字符組成的字符串,並且應該將它們存儲爲具有適當檢查約束的字符串。

我想現在你問的問題是「我的水族箱的水溫應該保持在什麼水平」?答案可能是,根本不會這樣做,因爲你最終會被咬傷。

相關問題