number資料型別在查詢中的顯示
講到number資料型別在查詢中的預設的顯示格式與長度,我的印象中模糊想起在2014年的那個夏天有看過相應的書講到,
說number資料型別在查詢中預設顯示是10位數的長度,超出10位之後,會以科學計數法格式顯示,設計不到10位長度的
前面會以空格顯示。其實這篇文章的最初想法不是這個,原來要探討的是手機號碼適合用哪種資料型別儲存。
至於number型別在查詢中顯示格式的話題是在測試當中遇到的,順便一起拿來測試。如果誰有更好想法的,可以在評論
分享一下,可以兩個問題一起。
測試過程如下:
----最初的想法:探討手機號碼儲存的資料型別:
--設計表格3個:
--T1:
create table t1(
id number(5)
constraint t1_pk primary key,
name varchar2(10) not null,
tel number(11),
created date);
--T2:
create table t2(
id number(5)
constraint t2_pk primary key,
name varchar2(10) not null,
tel number(12),
created date);
--T3: #該表的Tel欄位採取字元型別
create table t3(
id number(5)
constraint t3_pk primary key,
name varchar2(10) not null,
tel varchar2(11),
created date);
--檢視3個表得表結構:
SQL> desc t1
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(5)
NAME NOT NULL VARCHAR2(10)
TEL NUMBER(11)
CREATED DATE
SQL> desc t2
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(5)
NAME NOT NULL VARCHAR2(10)
TEL NUMBER(12)
CREATED DATE
SQL> desc t3
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(5)
NAME NOT NULL VARCHAR2(10)
TEL VARCHAR2(11)
CREATED DATE
--調整會話時間的顯示格式:
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
--分別往3個表T1、T2與T3插入資料:
insert into t1 values(12546,'enmo',13645789452,sysdate);
insert into t1 values(12547,'ocmu',13645789453,sysdate);
insert into t2 values(12548,'ppqq',13645789454,sysdate);
insert into t2 values(12549,'qqpp',13645789456,sysdate);
insert into t3 values(12550,'yyww','13645789456',sysdate);
insert into t3 values(12551,'wwyy','13645789457',sysdate);
--分別檢視3個表的內容:
SQL> select * from t1;
ID NAME TEL CREATED
---------- ---------- ---------- -------------------
12546 enmo 1.3646E+10 2016-10-21 16:29:35
12547 ocmu 1.3646E+10 2016-10-21 16:29:38
SQL> select * from t2;
ID NAME TEL CREATED
---------- ---------- ---------- -------------------
12548 ppqq 1.3646E+10 2016-10-21 16:29:45
12549 qqpp 1.3646E+10 2016-10-21 16:29:47
SQL> select * from t3;
ID NAME TEL CREATED
---------- ---------- ----------- -------------------
12550 yyww 13645789456 2016-10-21 16:30:12
12551 wwyy 13645789457 2016-10-21 16:30:14
從以上的查詢資料看,t1,t2沒有達到我們想看到的設計效果,因為Tel欄位儲存的是11位的手機號碼,只有t3是完整顯示出來11位。
--建立t5表: #設計了tel欄位長度為13,兩位小數,純屬實驗新增對照組需求,實際沒必要
SQL> create table t5(
2 id number(5)
3 constraint t5_pk primary key,
4 name varchar2(10) not null,
5 tel number(13,2),
6 created date);
--檢視錶結構:
Table created.
SQL> desc t5;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(5)
NAME NOT NULL VARCHAR2(10)
TEL NUMBER(13,2)
CREATED DATE
--插入資料:
insert into t5 values(12555,'hhss',13945789455,sysdate);
insert into t5 values(12556,'hhll',13945789456,sysdate);
--檢視錶中的資料:
SQL> select * from t5;
ID NAME TEL CREATED
---------- ---------- ---------- -------------------
12555 hhss 1.3946E+10 2016-10-21 16:51:33
12556 hhll 1.3946E+10 2016-10-21 16:51:40
--檢視兩個欄位的實際長度:
SQL> select length(id),length(tel) from t1;
LENGTH(ID) LENGTH(TEL)
---------- -----------
5 11
5 11
--指定tel欄位顯示的長度:
SQL> col tel for 99999999999;
SQL> select * from t5;
ID NAME TEL CREATED
---------- ---------- ------------ -------------------
12555 hhss 13945789455 2016-10-21 16:51:33
12556 hhll 13945789456 2016-10-21 16:51:40
SQL> select * from t1;
ID NAME TEL CREATED
---------- ---------- ------------ -------------------
12546 enmo 13645789452 2016-10-21 16:29:35
12547 ocmu 13645789453 2016-10-21 16:29:38
有更多想法的朋友,可以在評論了分享。謝謝觀賞!
說number資料型別在查詢中預設顯示是10位數的長度,超出10位之後,會以科學計數法格式顯示,設計不到10位長度的
前面會以空格顯示。其實這篇文章的最初想法不是這個,原來要探討的是手機號碼適合用哪種資料型別儲存。
至於number型別在查詢中顯示格式的話題是在測試當中遇到的,順便一起拿來測試。如果誰有更好想法的,可以在評論
分享一下,可以兩個問題一起。
測試過程如下:
----最初的想法:探討手機號碼儲存的資料型別:
--設計表格3個:
--T1:
create table t1(
id number(5)
constraint t1_pk primary key,
name varchar2(10) not null,
tel number(11),
created date);
--T2:
create table t2(
id number(5)
constraint t2_pk primary key,
name varchar2(10) not null,
tel number(12),
created date);
--T3: #該表的Tel欄位採取字元型別
create table t3(
id number(5)
constraint t3_pk primary key,
name varchar2(10) not null,
tel varchar2(11),
created date);
--檢視3個表得表結構:
SQL> desc t1
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(5)
NAME NOT NULL VARCHAR2(10)
TEL NUMBER(11)
CREATED DATE
SQL> desc t2
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(5)
NAME NOT NULL VARCHAR2(10)
TEL NUMBER(12)
CREATED DATE
SQL> desc t3
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(5)
NAME NOT NULL VARCHAR2(10)
TEL VARCHAR2(11)
CREATED DATE
--調整會話時間的顯示格式:
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
--分別往3個表T1、T2與T3插入資料:
insert into t1 values(12546,'enmo',13645789452,sysdate);
insert into t1 values(12547,'ocmu',13645789453,sysdate);
insert into t2 values(12548,'ppqq',13645789454,sysdate);
insert into t2 values(12549,'qqpp',13645789456,sysdate);
insert into t3 values(12550,'yyww','13645789456',sysdate);
insert into t3 values(12551,'wwyy','13645789457',sysdate);
--分別檢視3個表的內容:
SQL> select * from t1;
ID NAME TEL CREATED
---------- ---------- ---------- -------------------
12546 enmo 1.3646E+10 2016-10-21 16:29:35
12547 ocmu 1.3646E+10 2016-10-21 16:29:38
SQL> select * from t2;
ID NAME TEL CREATED
---------- ---------- ---------- -------------------
12548 ppqq 1.3646E+10 2016-10-21 16:29:45
12549 qqpp 1.3646E+10 2016-10-21 16:29:47
SQL> select * from t3;
ID NAME TEL CREATED
---------- ---------- ----------- -------------------
12550 yyww 13645789456 2016-10-21 16:30:12
12551 wwyy 13645789457 2016-10-21 16:30:14
從以上的查詢資料看,t1,t2沒有達到我們想看到的設計效果,因為Tel欄位儲存的是11位的手機號碼,只有t3是完整顯示出來11位。
--建立t5表: #設計了tel欄位長度為13,兩位小數,純屬實驗新增對照組需求,實際沒必要
SQL> create table t5(
2 id number(5)
3 constraint t5_pk primary key,
4 name varchar2(10) not null,
5 tel number(13,2),
6 created date);
--檢視錶結構:
Table created.
SQL> desc t5;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(5)
NAME NOT NULL VARCHAR2(10)
TEL NUMBER(13,2)
CREATED DATE
--插入資料:
insert into t5 values(12555,'hhss',13945789455,sysdate);
insert into t5 values(12556,'hhll',13945789456,sysdate);
--檢視錶中的資料:
SQL> select * from t5;
ID NAME TEL CREATED
---------- ---------- ---------- -------------------
12555 hhss 1.3946E+10 2016-10-21 16:51:33
12556 hhll 1.3946E+10 2016-10-21 16:51:40
--檢視兩個欄位的實際長度:
SQL> select length(id),length(tel) from t1;
LENGTH(ID) LENGTH(TEL)
---------- -----------
5 11
5 11
--指定tel欄位顯示的長度:
SQL> col tel for 99999999999;
SQL> select * from t5;
ID NAME TEL CREATED
---------- ---------- ------------ -------------------
12555 hhss 13945789455 2016-10-21 16:51:33
12556 hhll 13945789456 2016-10-21 16:51:40
SQL> select * from t1;
ID NAME TEL CREATED
---------- ---------- ------------ -------------------
12546 enmo 13645789452 2016-10-21 16:29:35
12547 ocmu 13645789453 2016-10-21 16:29:38
有更多想法的朋友,可以在評論了分享。謝謝觀賞!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2126923/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS中其他資料型別轉為number資料型別的方法JS資料型別
- Oracle的number資料型別Oracle資料型別
- ORACLE NUMBER資料型別Oracle資料型別
- MYSQL中怎麼查詢LONGBLOB型別資料的大小MySql型別
- 查詢mysql某張表中的所有資料(欄位)型別MySql型別
- JS -- number資料型別詳解JS資料型別
- 如何分頁顯示資料庫查詢結果?資料庫
- 在資料庫的查詢與更新中,CHARINDEX與instr的區別?資料庫Index
- 在 with 查詢中只查詢個別欄位
- MySql資料庫 數值型別的顯示寬度MySql資料庫型別
- 在MongoDB資料庫中查詢資料(上)MongoDB資料庫
- Python 查詢PDF中的指定文字並高亮顯示Python
- 報表的查詢皮膚怎麼顯示在左側?
- 關於Sql server資料型別HierarchyID 資料型別用法和遞迴顯示完整路徑SQLServer資料型別遞迴
- Python技術之Number資料型別介紹Python資料型別
- 自主資料型別:在TVM中啟用自定義資料型別探索資料型別
- JS中的資料型別轉換:String轉換成Number的3種方法JS資料型別
- MongoDB日期型別查詢MongoDB型別
- 10分鐘掌握資料型別、索引、查詢的MySQL優化技巧資料型別索引MySql優化
- 10_深入解析Oracle number資料型別及os層number解析工具分享Oracle資料型別
- Java中的基本資料型別與引用資料型別Java資料型別
- 將MYSQL資料顯示在QT的tablewidget中/將QT中的資料儲存到MYSQL資料庫中MySqlQT資料庫
- mysql查詢的日期在前端顯示出來是在很久之前MySql前端
- 【YashanDB資料庫】yasboot查詢資料庫狀態時顯示資料庫狀態為off資料庫boot
- mysql 5.7 json 型別 json 陣列型別 普通字串型別 10w資料 查詢速度差異MySqlJSON型別陣列字串
- Python—Django:關於在Django框架中對資料庫的查詢函式,查詢集和關聯查詢PythonDjango框架資料庫函式
- 在Laravel 5.6中 使用Swoole的協程資料庫查詢Laravel資料庫
- ElasticSearch在數十億級別資料下,如何提高查詢效率?Elasticsearch
- 淺析number型別的值型別
- mysql資料庫時間型別datetime、bigint、timestamp的查詢效率比較MySql資料庫型別
- hive表查詢中文顯示亂碼Hive
- Java中的資料型別Java資料型別
- javascript中的資料型別JavaScript資料型別
- 小技巧:顯示資料庫查詢耗時,改善開發者習慣資料庫
- ntpq無法查詢同步資訊,顯示The specified class was not found
- ES查詢之查詢屬性過濾、結果高亮顯示
- JAVA中基本資料型別和引用資料型別Java資料型別
- 上億級別資料庫查詢資料庫
- laravel 中 in 多列特殊查詢型別解決方案Laravel型別