oracle字段类型设计,Oracle字段类型设计与实际业务不符引发的问题
在Oracle表的設(shè)計(jì)過(guò)程中,開(kāi)發(fā)人員總是對(duì)字段的類(lèi)型不以為然,下面來(lái)演示一個(gè)例子,按照應(yīng)該設(shè)計(jì)為number的,結(jié)果設(shè)計(jì)成了varcha
在Oracle表的設(shè)計(jì)過(guò)程中,開(kāi)發(fā)人員總是對(duì)字段的類(lèi)型不以為然,下面來(lái)演示一個(gè)例子,按照應(yīng)該設(shè)計(jì)為number的,結(jié)果設(shè)計(jì)成了varchar2,那會(huì)導(dǎo)致什么問(wèn)題呢?下面我們來(lái)做一個(gè)實(shí)驗(yàn)。
SQL> create table test(id varchar2(10));
表已創(chuàng)建。
SQL> declare
2 i number;
3 begin
4 for i in 1..100 loop
5 insert into test values(i);
6 end loop;
7 end;
8 /
PL/SQL 過(guò)程已成功完成。
SQL> commit;
提交完成。
SQL> select count(*) from test where id ----猜猜是多少,難道不是8?
COUNT(*)
----------
89
SQL> select count(*) from test where id
COUNT(*)
----------
11
SQL> select * from test where id < '19';
ID
----------
1
10
11
12
13
14
15
16
17
18
100
已選擇11行。
總結(jié):Oracle比較字符串是根據(jù)ASCII碼來(lái)的,,第一個(gè)字母的ASCII大小比較如果相等再比較下一個(gè),類(lèi)推。
更多詳情見(jiàn)請(qǐng)繼續(xù)閱讀下一頁(yè)的精彩內(nèi)容:
聲明:本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請(qǐng)注明出處,感謝您的尊重!如有疑問(wèn),請(qǐng)聯(lián)系admin@php.cn處理
總結(jié)
以上是生活随笔為你收集整理的oracle字段类型设计,Oracle字段类型设计与实际业务不符引发的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 双十一前夕多家快递公司涨价 原因详细解读
- 下一篇: 实验报告: 线性表的基本操作及应用