LOW_VALUE、HIGH_VALUE、ENDPOINT_VALUE轉換--UTL_RAW、DBMS_STATS.CONVERT_RAW_VALUE
LOW_VALUE、HIGH_VALUE、ENDPOINT_VALUE的轉換--UTL_RAW、HEXSTR、DBMS_STATS.CONVERT_RAW_VALUE的使用
直方圖ENDPOINT_VALUE轉換:
首先準備基礎表:
CREATE TABLE T_ST_20170605_LHR(ID NUMBER,STR VARCHAR2(30));
INSERT INTO T_ST_20170605_LHR SELECT ROWNUM ID,1 STR FROM DUAL CONNECT BY LEVEL<=10001;
UPDATE T_ST_20170605_LHR T SET T.STR=6 WHERE T.ID=10001;
EXEC DBMS_STATS.GATHER_TABLE_STATS(USER,'T_ST_20170605_LHR',CASCADE=>TRUE,METHOD_OPT=>'FOR COLUMNS STR SIZE 2');
檢視直方圖資訊:
LHR@orclasm > COL COLUMN_NAME FORMAT A15
LHR@orclasm > SELECT D.COLUMN_NAME,D.NUM_DISTINCT,D.NUM_NULLS,D.NUM_BUCKETS,D.HISTOGRAM FROM DBA_TAB_COL_STATISTICS D WHERE D.TABLE_NAME = 'T_ST_20170605_LHR';
COLUMN_NAME NUM_DISTINCT NUM_NULLS NUM_BUCKETS HISTOGRAM
--------------- ------------ ---------- ----------- ---------------
STR 2 0 2 FREQUENCY
LHR@orclasm > SELECT TABLE_NAME,COLUMN_NAME,ENDPOINT_VALUE,ENDPOINT_NUMBER FROM DBA_TAB_HISTOGRAMS WHERE TABLE_NAME='T_ST_20170605_LHR';
TABLE_NAME COLUMN_NAME ENDPOINT_VALUE ENDPOINT_NUMBER
------------------------------ --------------- -------------- ---------------
T_ST_20170605_LHR STR 2.5442E+35 10000
T_ST_20170605_LHR STR 2.8038E+35 10001
這裡的ENDPOINT_VALUE值需要去轉換,字元‘1’的16進位制的dump值為0x31,字元‘6’的16進位制的dump值為0x36,
LHR@orclasm > SELECT DUMP('1',16),DUMP('6',16) FROM DUAL;
DUMP('1',16) DUMP('6',16)
---------------- ----------------
Typ=96 Len=1: 31 Typ=96 Len=1: 36
將0x31右邊補0一直補到15個位元組(共30位),再將其轉換為10進位制數,0x36類似,如下所示:
LHR@orclasm > SELECT TO_NUMBER('310000000000000000000000000000','XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') C1,TO_NUMBER('360000000000000000000000000000','XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX') C2 FROM DUAL;
C1 C2
---------- ----------
2.5442E+35 2.8038E+35
可以看到轉換後的結果和之前查詢出來的結果一致。為了方便轉換給出如下函式:
CREATE OR REPLACE FUNCTION HEXSTR(P_NUMBER IN NUMBER) RETURN VARCHAR2 AS
L_STR LONG := TO_CHAR(P_NUMBER, 'fm' || RPAD('x', 50, 'x'));
L_RETURN VARCHAR2(4000);
BEGIN
WHILE (L_STR IS NOT NULL) LOOP
L_RETURN := L_RETURN || CHR(TO_NUMBER(SUBSTR(L_STR, 1, 2), 'xx'));
L_STR := SUBSTR(L_STR, 3);
END LOOP;
RETURN(SUBSTR(L_RETURN, 1, 6));
END;
再次查詢:
LHR@orclasm > COL ENDPOINT_VALUE2 FORMAT A15
LHR@orclasm > SELECT TABLE_NAME,COLUMN_NAME,ENDPOINT_VALUE,ENDPOINT_NUMBER,HEXSTR(ENDPOINT_VALUE) ENDPOINT_VALUE2 FROM DBA_TAB_HISTOGRAMS WHERE TABLE_NAME='T_ST_20170605_LHR';
TABLE_NAME COLUMN_NAME ENDPOINT_VALUE ENDPOINT_NUMBER ENDPOINT_VALUE2
------------------------------ --------------- -------------- --------------- ---------------
T_ST_20170605_LHR STR 2.5442E+35 10000 1
T_ST_20170605_LHR STR 2.8038E+35 10001 6
列統計資訊LOW_VALUE、HIGH_VALUE的轉換:
使用DBMS_STATS.CONVERT_RAW_VALUE或UTL_RAW.CAST_TO_NUMBER、UTL_RAW.CAST_TO_VARCHAR2等。
點選(此處)摺疊或開啟
-
CREATE OR REPLACE FUNCTION FUN_DISPLAY_RAW_LHR(P_RAWVAL RAW,
-
P_TYPE VARCHAR2)
-
RETURN VARCHAR2 IS
-
V_NUMBER NUMBER;
-
V_VARCHAR2 VARCHAR2(32);
-
V_DATE DATE;
-
V_NVARCHAR2 NVARCHAR2(32);
-
V_ROWID ROWID;
-
V_CHAR CHAR(32);
-
BEGIN
-
IF (P_TYPE = 'NUMBER' OR P_TYPE = 'FLOAT') THEN
-
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_NUMBER);
-
RETURN TO_CHAR(V_NUMBER);
-
ELSIF (P_TYPE = 'VARCHAR2') THEN
-
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_VARCHAR2);
-
RETURN TO_CHAR(V_VARCHAR2);
-
ELSIF (P_TYPE = 'DATE' OR P_TYPE LIKE 'TIMESTAMP%') THEN
-
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_DATE);
-
RETURN TO_CHAR(V_DATE);
-
ELSIF (P_TYPE = 'NVARCHAR2') THEN
-
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_NVARCHAR2);
-
RETURN TO_CHAR(V_NVARCHAR2);
-
ELSIF (P_TYPE = 'ROWID') THEN
-
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_ROWID);
-
RETURN TO_CHAR(V_ROWID);
-
ELSIF (P_TYPE = 'CHAR') THEN
-
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_CHAR);
-
RETURN TO_CHAR(V_CHAR);
-
ELSIF (P_TYPE = 'RAW') THEN
-
RETURN TO_CHAR(P_RAWVAL);
-
ELSE
-
RETURN 'UNKNOWN DATATYPE!';
-
END IF;
-
EXCEPTION
-
WHEN OTHERS THEN
-
RETURN 'ERRORS!';
- END FUN_DISPLAY_RAW_LHR;
點選(此處)摺疊或開啟
-
SELECT D.COLUMN_NAME,
-
D.LOW_VALUE,
-
D.HIGH_VALUE,
-
D.DENSITY,
-
D.NUM_DISTINCT,
-
D.NUM_NULLS,
-
D.NUM_BUCKETS,
-
D.HISTOGRAM,
-
D.DATA_TYPE,
-
FUN_DISPLAY_RAW_LHR(D.LOW_VALUE, D.DATA_TYPE) LOW_VALUE1,
-
FUN_DISPLAY_RAW_LHR(D.HIGH_VALUE, D.DATA_TYPE) HIGH_VALUE1--,
-
--UTL_RAW.CAST_TO_NUMBER(D.LOW_VALUE) LOW_VALUE2,
-
--UTL_RAW.CAST_TO_NUMBER(D.HIGH_VALUE) HIGH_VALUE2,
-
FROM USER_TAB_COLS D
- WHERE D.TABLE_NAME = 'T_AA_20170606_LHR';
下面是utl_raw包下的所有函式
-
SQL>desc utl_raw
-
-
FUNCTION BIT_AND RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R1 RAW IN
-
R2 RAW IN
-
-
FUNCTION BIT_COMPLEMENT RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
-
FUNCTION BIT_OR RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R1 RAW IN
-
R2 RAW IN
-
-
FUNCTION BIT_XOR RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R1 RAW IN
-
R2 RAW IN
-
-
FUNCTION CAST_FROM_BINARY_DOUBLE RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
N BINARY_DOUBLE IN
-
ENDIANESS BINARY_INTEGER IN DEFAULT
-
-
FUNCTION CAST_FROM_BINARY_FLOAT RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
N BINARY_FLOAT IN
-
ENDIANESS BINARY_INTEGER IN DEFAULT
-
-
FUNCTION CAST_FROM_BINARY_INTEGER RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
N BINARY_INTEGER IN
-
ENDIANESS BINARY_INTEGER IN DEFAULT
-
-
FUNCTION CAST_FROM_NUMBER RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
N NUMBER IN
-
-
FUNCTION CAST_TO_BINARY_DOUBLE RETURNS BINARY_DOUBLE
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
ENDIANESS BINARY_INTEGER IN DEFAULT
-
-
FUNCTION CAST_TO_BINARY_FLOAT RETURNS BINARY_FLOAT
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
ENDIANESS BINARY_INTEGER IN DEFAULT
-
-
FUNCTION CAST_TO_BINARY_INTEGER RETURNS BINARY_INTEGER
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
ENDIANESS BINARY_INTEGER IN DEFAULT
-
-
FUNCTION CAST_TO_NUMBER RETURNS NUMBER
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
FUNCTION CAST_TO_NVARCHAR2 RETURNS NVARCHAR2
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
-
FUNCTION CAST_TO_RAW RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
C VARCHAR2 IN
-
-
FUNCTION CAST_TO_VARCHAR2 RETURNS VARCHAR2
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
FUNCTION COMPARE RETURNS NUMBER
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R1 RAW IN
-
R2 RAW IN
-
PAD RAW IN DEFAULT
-
-
FUNCTION CONCAT RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R1 RAW IN DEFAULT
-
R2 RAW IN DEFAULT
-
R3 RAW IN DEFAULT
-
R4 RAW IN DEFAULT
-
R5 RAW IN DEFAULT
-
R6 RAW IN DEFAULT
-
R7 RAW IN DEFAULT
-
R8 RAW IN DEFAULT
-
R9 RAW IN DEFAULT
-
R10 RAW IN DEFAULT
-
R11 RAW IN DEFAULT
-
R12 RAW IN DEFAULT
-
-
FUNCTION CONVERT RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
TO_CHARSET VARCHAR2 IN
-
FROM_CHARSET VARCHAR2 IN
-
-
FUNCTION COPIES RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
N NUMBER IN
-
FUNCTION LENGTH RETURNS NUMBER
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
-
FUNCTION OVERLAY RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
OVERLAY_STR RAW IN
-
TARGET RAW IN
-
POS BINARY_INTEGER IN DEFAULT
-
LEN BINARY_INTEGER IN DEFAULT
-
PAD RAW IN DEFAULT
-
FUNCTION REVERSE RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
-
FUNCTION SUBSTR RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
POS BINARY_INTEGER IN
-
LEN BINARY_INTEGER IN DEFAULT
-
FUNCTION TRANSLATE RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
FROM_SET RAW IN
-
TO_SET RAW IN
-
-
FUNCTION TRANSLITERATE RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
R RAW IN
-
TO_SET RAW IN DEFAULT
-
FROM_SET RAW IN DEFAULT
-
PAD RAW IN DEFAULT
-
-
FUNCTION XRANGE RETURNS RAW
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
START_BYTE RAW IN DEFAULT
- END_BYTE RAW IN DEFAULT
DBMS_STATS.CONVERT_RAW_VALUE函式
-
SQL> desc dbms_stats
-
PROCEDURE CONVERT_RAW_VALUE
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
RAWVAL RAW IN
-
RESVAL VARCHAR2 OUT
-
-
PROCEDURE CONVERT_RAW_VALUE
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
RAWVAL RAW IN
-
RESVAL DATE OUT
-
-
PROCEDURE CONVERT_RAW_VALUE
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
RAWVAL RAW IN
-
-
RESVAL NUMBER OUT
-
PROCEDURE CONVERT_RAW_VALUE
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
RAWVAL RAW IN
-
RESVAL BINARY_FLOAT OUT
-
-
PROCEDURE CONVERT_RAW_VALUE
-
Argument Name Type In/Out Default?
-
------------------------------ ----------------------- ------ --------
-
RAWVAL RAW IN
- RESVAL BINARY_DOUBLE OUT
utl_raw、CONVERT_RAW_VALUE使用在 字元數值比對、統計資訊等指標數值轉換上。
下面是簡單實驗。
- --TABLE存在4個不同型別的欄位
- SQL> DESC TABLE
-
Name Null? Type
-
------------------------- -------- ----------------------------
-
DIS_NUMBER NOT NULL NUMBER(12)
-
RSVDC3 VARCHAR2(16)
-
ORDER_PV NUMBER(12,2)
-
SALE_DATE DATE
-
- --統計資訊收集後,列的統計資訊如下。SQL執行計劃與索引的使用,會參考統計資訊獲得的值。
- --現在我們主要關注LOW_VALUE,HIGH_VALUE欄位的值。
-
COLUMN_NAME LOW_VALUE HIGH_VALUE
-
-------------- ------------------ ------------------------
-
DIS_NUMBER C102 C60A6464646464
-
RSVDC3 3C6241395166 C40A4D4323
-
ORDER_PV 3D582C5166 C4400707450B
- SALE_DATE 786D0305010101 78C70C04010101
使用utl_raw.CAST_TO_NUMBER函式獲取DIS_NUMBER欄位,LOW_VALUE與HIGH_VALUE的值。
-
SQL> select utl_raw.CAST_TO_NUMBER('C102') low_num,utl_raw.CAST_TO_NUMBER('C60A6464646464') high_num from dual
-
-
LOW_NUM HIGH_NUM
-
---------- ----------------------
-
1 99999999999
-
-
--同樣,可以使用utl_raw.CAST_FROM_NUMBER函式轉換成資料庫的raw格式。
-
-
SQL>select utl_raw.CAST_FROM_NUMBER(1) LOW_VALUE,utl_raw.CAST_FROM_NUMBER(99999999999) HIGH_VALUE from dual
-
-
LOW_VALUE HIGH_VALUE
-
------------------ ------------------------
- C102 C60A6464646464
同理,VARCHAR型別的值,也可使用utl_raw.CAST_TO_VARCHAR2
DATE型別使用dbms_stats.convert_raw_value()函式。
-
DECLARE
rv RAW(32) := '786D0305010101';
dt DATE := NULL;
BEGIN
dbms_stats.convert_raw_value(rv, dt);
dbms_output.put_line('LOW_DATE: '||TO_CHAR(dt, 'YYYY-MM-DD hh24:mi:ss'));
END;
/ -
LOW_DATE: 2009-03-05 00:00:00
下面自定義函式,利用dbms_stats.convert_raw_value函式,可快速獲得不同型別的真實值。
-
CREATE OR REPLACE FUNCTION FUN_DISPLAY_RAW_LHR(P_RAWVAL RAW,
P_TYPE VARCHAR2)
RETURN VARCHAR2 IS
V_NUMBER NUMBER;
V_VARCHAR2 VARCHAR2(32);
V_DATE DATE;
V_NVARCHAR2 NVARCHAR2(32);
V_ROWID ROWID;
V_CHAR CHAR(32);
BEGIN
IF (P_TYPE = 'NUMBER' OR P_TYPE = 'FLOAT') THEN
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_NUMBER);
RETURN TO_CHAR(V_NUMBER);
ELSIF (P_TYPE = 'VARCHAR2') THEN
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_VARCHAR2);
RETURN TO_CHAR(V_VARCHAR2);
ELSIF (P_TYPE = 'DATE' OR P_TYPE LIKE 'TIMESTAMP%') THEN
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_DATE);
RETURN TO_CHAR(V_DATE);
ELSIF (P_TYPE = 'NVARCHAR2') THEN
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_NVARCHAR2);
RETURN TO_CHAR(V_NVARCHAR2);
ELSIF (P_TYPE = 'ROWID') THEN
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_ROWID);
RETURN TO_CHAR(V_ROWID);
ELSIF (P_TYPE = 'CHAR') THEN
DBMS_STATS.CONVERT_RAW_VALUE(P_RAWVAL, V_CHAR);
RETURN TO_CHAR(V_CHAR);
ELSIF (P_TYPE = 'RAW') THEN
RETURN TO_CHAR(P_RAWVAL);
ELSE
RETURN 'UNKNOWN DATATYPE!';
END IF;
EXCEPTION
WHEN OTHERS THEN
RETURN 'ERRORS!';
END FUN_DISPLAY_RAW_LHR;
D.LOW_VALUE,
D.HIGH_VALUE,
D.DENSITY,
D.NUM_DISTINCT,
D.NUM_NULLS,
D.NUM_BUCKETS,
D.HISTOGRAM,
D.DATA_TYPE,
FUN_DISPLAY_RAW_LHR(D.LOW_VALUE, D.DATA_TYPE) LOW_VALUE1,
FUN_DISPLAY_RAW_LHR(D.HIGH_VALUE, D.DATA_TYPE) LOW_VALUE2
FROM USER_TAB_COLS D
WHERE D.LOW_VALUE IS NOT NULL
AND D.TABLE_NAME='T_ROWS_20170605_LHR'
AND ROWNUM<=10; -
-
-
COLUMN_NAME PARTITION_NAME NUM_DISTINCT LOW_VALUE HIGH_VALUE DATA_TYPE
------------------------------ ------------------ ------------ ------------------ ------------------------ ----------------
ALLOCATION_DIST_NUMBER P_MOH_2012_10 4964 6737 9999520 NUMBER
ALLOCATION_DIST_NUMBER P_MOH_2012_11 4989 6737 9999956 NUMBER
ALLOCATION_DIST_NUMBER P_MOH_2012_12 5351 6737 9999936 NUMBER
ALLOCATION_DIST_NUMBER P_MOH_2012_6 12 7007633 9961247 NUMBER
ALLOCATION_DIST_NUMBER P_MOH_2012_7 380 7000028 9996912 NUMBER
CURRENCY_CODE P_MOH_2014_4 3 HKD RMB VARCHAR2
CURRENCY_CODE P_MOH_2014_5 3 HKD RMB VARCHAR2
CURRENCY_CODE P_MOH_2014_6 3 HKD RMB VARCHAR2
CURRENCY_CODE P_MOH_2014_7 3 HKD RMB VARCHAR2
INVOICE_SALES_DATE P_MOH_2014_10 78 06-SEP-14 23-JAN-15 DATE
INVOICE_SALES_DATE P_MOH_2014_11 77 14-OCT-14 26-JAN-15 DATE
INVOICE_SALES_DATE P_MOH_2014_12 75 10-NOV-14 01-FEB-15 DATE
INVOICE_SALES_DATE P_MOH_2014_2 40 12-FEB-14 29-MAR-14 DATE
INVOICE_SALES_DATE P_MOH_2014_3 81 01-MAR-14 30-APR-14 DATE
還原DUMP出來的數字
SQL> select dump(2000,16) from dual;
DUMP(2000,16)
------------------
Typ=2 Len=2: c2,15
SQL> declare n number;
2 begin
3 dbms_stats.convert_raw_value('c215',n);
4 dbms_output.put_line(n);
5 end;
6 /
2000
declare n number;
begin
dbms_stats.convert_raw_value('c215',n);
dbms_output.put_line(n);
end;
/
還原DUMP的字串
SQL> select dump('robinson',16) from dual;
DUMP('ROBINSON',16)
-------------------------------------
Typ=96 Len=8: 72,6f,62,69,6e,73,6f,6e
SQL> declare n varchar2(2000);
2 begin
3 dbms_stats.convert_raw_value('726f62696e736f6e',n);
4 dbms_output.put_line(n);
5 end;
6 /
robinson
SQL> select dump('robinson') from dual;
DUMP('ROBINSON')
--------------------------------------------
Typ=96 Len=8: 114,111,98,105,110,115,111,110
其實這個時候DUMP出來的是以10進位制顯示的,也就是說114相對於72,也就是r,後面的字幕同樣
SQL> select to_char(114,'xxx') from dual;
TO_C
----
72
SQL> declare n varchar2(2000);
2 begin
3 dbms_stats.convert_raw_value('72',n);
4 dbms_output.put_line(n);
5 end;
6 /
r
About Me
...............................................................................................................................
● 本文作者:小麥苗,只專注於資料庫的技術,更注重技術的運用
● 本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/
● 本文部落格園地址:http://www.cnblogs.com/lhrbest
● 本文pdf版及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/
● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/
● QQ群:230161599 微信群:私聊
● 聯絡我請加QQ好友(646634621),註明新增緣由
● 於 2017-06-02 09:00 ~ 2017-06-30 22:00 在魔都完成
● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
...............................................................................................................................
拿起手機使用微信客戶端掃描下邊的左邊圖片來關注小麥苗的微信公眾號:xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學習最實用的資料庫技術。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2140335/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pdf轉換成word,免費轉換
- js顯式轉換和隱式轉換JS
- AD模數轉換&DA數模轉換
- heic格式轉換jpg工具——轉易俠heic轉換器
- Linux 轉換換行符Linux
- 轉換流
- GUID轉換GUI
- 圖片格式怎麼轉換,如何轉換jpg
- PDF轉換CAD圖紙,如何快速轉換呢?
- unix時間轉換為datetimedatetime轉換為unixtime
- 用於日期轉換的訊息轉換器
- 圖片格式轉換,JPG圖片轉換成PDF
- 顏色轉換
- Java —— 轉換流Java
- clang 轉換版本
- matlab版本轉換Matlab
- js轉換/Date(........)/JS
- Oracle轉換PostgresOracle
- 溫度轉換
- XSLT-轉換
- 編碼轉換
- 時間轉換
- Linq 日期轉換
- LocalDateTime日期轉換LDA
- 型別轉換型別
- 轉換說明
- ppm轉換bmp
- 影像格式轉換
- 轉換日期(C)
- 圖片轉換成文字怎麼轉?一鍵轉換看這裡
- iOS引用轉換:Foundation與Core Foundation物件互相轉換(__CFString轉NSString,void *轉id等等)iOS物件
- Oracle 12CR2查詢轉換之星型轉換Oracle
- java將IP地址轉換為數字以及逆向轉換Java
- Oracle實驗(02):轉換 & 轉譯Oracle
- axmath 轉換latex 再轉 word公式公式
- pdf轉word如何線上轉換?
- Android 多國語言轉換 Excel 和 Excel 轉換為 stringAndroidExcel
- Permute 3 - 媒體轉換專家,隨心所欲轉換格式
- pyhanlp 繁簡轉換之拼音轉換與字元正則化HanLP字元