1. 程式人生 > >DB2常用函式二:型別轉換函式

DB2常用函式二:型別轉換函式

CAST表示式用來轉換型別使用

Sql程式碼   
  1. SELECT CAST(CURRENT TIME AS CHAR(8) ) FROM SYSIBM.SYSDUMMY1  
SELECT CAST(CURRENT TIME AS CHAR(8) ) FROM SYSIBM.SYSDUMMY1



1、轉換為字串型別: 

CHAR函式 

語法:CHAR(ARG) 

CHAR函式返回日期時間型、字串、整數、十進位制或雙精度浮點數的字串表示。

Sql程式碼 
  1. eg:   
  2. SELECT CHAR(SALARY) FROM TEST  
eg:
SELECT CHAR(SALARY) FROM TEST



CHR函式 

語法:CHR(ARG) 

CHR函式返回由引數指定的ASCII碼的字元,引數可以是INTEGER或SMALLINT。

Sql程式碼 
  1. eg:   
  2. SELECT CHR(167) FROM TEST  
eg:
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”。  
eg:
SELECT VARCHAR(NAME,50) FROM TEST
--50為擷取長度,如果name字串的長度大於50,則返回“SQL0445W 值已被截斷。SQLSTATE=01004”。



DIGITS函式 

語法:DIGITS() 

DIGITS函式返回SMALLINT、INTEGER、BIGIT或者DECIMAL引數的字串值。

Sql程式碼 
  1. eg:   
  2. SELECT DIGITS(ID) FROM TEST  
eg:
SELECT DIGITS(ID) FROM TEST




2、轉換為數字型別: 

DOUBLE、FLOAT函式 

語法:DOUBLE()、FLOAT() 

DOUBLE、FLOAT函式如果引數是一個數字表達式,返回與其對應的浮點數,否則返回錯誤程式碼。

Sql程式碼 
  1. eg:   
  2. SELECT DOUBLE('4569'FROM TEST  
eg:
SELECT DOUBLE('4569') FROM TEST



INT函式 

語法:INT() 

INT函式返回整型常量中的數字、字串或者日期、時間的整數表示。

Sql程式碼 
  1. eg:   
  2. SELECT INT('111'FROM TEST  
eg:
SELECT INT('111') FROM TEST



BIGINT函式 

語法:BIGINT() 

BIGINT函式返回整型常量中的數字、字串或者時間戳的64位長整數表示。

Sql程式碼 
  1. eg:   
  2. SELECT BIGINT('111'FROM TEST  
eg:
SELECT BIGINT('111') FROM TEST



SMALLINT函式 

語法:SMALLINT() 

SMALLINT函式返回整型常量中的數字、字串短整數表示。

Sql程式碼 
  1. eg:   
  2. SELECT SMALLINT('111'FROM TEST  
eg:
SELECT SMALLINT('111') FROM TEST



REAL函式 

語法:REAL() 

REAL函式返回一個數值的單精度浮點數表示。

Sql程式碼 
  1. eg:   
  2. SELECT REAL(10) FROM TEST  
eg:
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  
eg:
SELECT DEC(10) FROM TEST



HEX函式 

語法:HEX() 

HEX函式返回一個字串的值的16進製表示。

Sql程式碼 
  1. eg:   
  2. SELECT HEX(10) FROM TEST  
eg:
SELECT HEX(10) FROM TEST



FLOOR函式 

語法:FLOOR() 

FLOOR函式小於或等於引數的最大整數。

Sql程式碼 
  1. eg:   
  2. SELECT FLOOR(10.50) FROM TEST