1. 程式人生 > >DB2 型別轉換函式

DB2 型別轉換函式

CAST表示式用來轉換型別使用 
Sql程式碼  收藏程式碼
  1. SELECT CAST(CURRENT TIME AS CHAR(8) ) FROM SYSIBM.SYSDUMMY1  


1、轉換為字串型別:

CHAR函式

語法:CHAR(ARG) 

CHAR函式返回日期時間型、字串、整數、十進位制或雙精度浮點數的字串表示。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT CHAR(SALARY) FROM TEST  


CHR函式

語法:CHR(ARG) 

CHR函式返回由引數指定的ASCII碼的字元,引數可以是INTEGER或SMALLINT。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT CHR(167) FROM
     TEST  


VARCHAR函式

語法:VARCHAR(ARG,LENGTH) 

VARCHAR函式返回字串、日期型、圖形串的可變長度的字串表示。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT VARCHAR(NAME,50) FROM TEST  
  3. --50為擷取長度,如果name字串的長度大於50,則返回“SQL0445W 值已被截斷。SQLSTATE=01004”。  


DIGITS函式

語法:DIGITS() 

DIGITS函式返回SMALLINT、INTEGER、BIGIT或者DECIMAL引數的字串值。 Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT DIGITS(ID) FROM TEST  



2、轉換為數字型別:

DOUBLE、FLOAT函式

語法:DOUBLE()、FLOAT() 

DOUBLE、FLOAT函式如果引數是一個數字表達式,返回與其對應的浮點數,否則返回錯誤程式碼。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT DOUBLE('4569'FROM TEST  


INT函式

語法:INT() 

INT函式返回整型常量中的數字、字串或者日期、時間的整數表示。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT INT('111'FROM TEST  


BIGINT函式

語法:BIGINT() 

BIGINT函式返回整型常量中的數字、字串或者時間戳的64位長整數表示。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT BIGINT('111'FROM TEST  


SMALLINT函式

語法:SMALLINT() 

SMALLINT函式返回整型常量中的數字、字串短整數表示。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT SMALLINT('111'FROM TEST  


REAL函式

語法:REAL() 

REAL函式返回一個數值的單精度浮點數表示。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT REAL(10) FROM TEST  


DEC[IMAL]函式

語法:DEC[IMAL]() 

DEC[IMAL]函式返回一個數值、DECIMAL的字串、INTEGER的字串、FLOAT-POINT的字串、日期、時間或時間戳的DECIMAL數值。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT DEC(10) FROM TEST  

decimal(x,18,2)

HEX函式

語法:HEX() 

HEX函式返回一個字串的值的16進製表示。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT HEX(10) FROM TEST  


FLOOR函式

語法:FLOOR() 

FLOOR函式小於或等於引數的最大整數。 
Sql程式碼  收藏程式碼
  1. eg:  
  2. SELECT FLOOR(10.50) FROM TEST