調整數據外觀(二)

  • LENGTH

字符串、數字、日期或表達式的長度,單位是字節sql

--實例
SELECT PROD_DESC, LENGTH(PROD_DESC)
FROM PRODUCTS_TAB

注:數據庫

MySQL和Oracle都支持該函數,而Microsoft SQL Server用LEN函數實現相同的效果express

  • SQL NULL函數

  • SQL Server/MS Access
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsONOrder,0))
FROM Products
  • Oracle
SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
FROM Products
  • COALESCE

Oracle COALESCE函數 - 一玩兒家的田地 - 博客頻道 - CSDN.NET oracle

感受有好多的做用可是並瞭解函數

一、將列爲空的設置爲一個值,與IFNLL同樣.net

二、返回第一個不爲空的表達式,若是都爲空,則返回空值code

  • LAPD/RAPD

ALPD:左填充,用於字符串左側添加字符或者空格htm

RAPD:右填充,用於字符串右側添加字符或者空格blog

--實例
--字段左側添加句點,是其總長度達到30個字符
SELECT LAPD(PROD_DESC,30,'.') PRODUCT
FROM PRODUCTS_TBL

注:ci

MySQL與Oracle所有支持上述函數,可是Microsoft SQL Server中沒有對應函數

  • ASCLL

返回最左側字符的ASCII碼,若是str爲NULL,返回NULL,str爲空字符串返回0

注:

MySQL與Oracle、 Microsoft SQL Server 所有支持上述函數

  • 算術函數

算術函數對數據庫的值根據算術規則進行運算

常見的有

絕對值(ABS)

平方根(SQRT)

符號(SIGN)

上限和下限(CEIL、FLOOR)

指數(EXP)

SIN、COS、TAN

注:

MySQL與Oracle、 Microsoft SQL Server 所有支持上述函數

  • 轉換函數
  • 字符串轉爲數字
  •     MySQL/SQL SERVER
--方法一
SELECT CAST('123' AS SIGNED integer)

--方法二
SELECT CONVERT('123',SIGNED)

--方法三
SELECT '123'+0

 

  •  Oracle
--使用TO_NUMBER
SELECT EMP_ID,TO_NUMBER(EMP_ID)
FROM EMPLOYEE_TBL

 

  •    數字轉化爲字符串
  • SQL Server
--語法
CAST(expression as data_type)
*/參數說明:
expression:任何有效的SQLServer表達式
AS:用於分隔兩個參數,在AS以前是要處理的數據,在AS以後是要轉換的數據類型
data_type:目標系統所提供的數據類習慣,包括bigint和sql_variant,不能使用用戶自定的數據類型
*/

 

--實例
SELECT CAST('12.5' AS int)  
/*
.CAST()函數和CONVERT()函數都不能執行四捨五入或截斷操做。因爲12.5不能用int數據類型來表示,因此對這個函數調用將產生一個錯誤:  
Server: Msg 245, Level 16, State 1, Line 1  
Syntax error converting the varchar value    
    '12.5' to a column of data type int. 
*/

SELECT CAST('12.5' AS decimal(9,2))
/*decimal數據類型在結果網格中將顯示有效小數位: 12.50
要返回一個合法的數值,就必須使用能處理這個值的數據類型。對於這個例子,存在多個可用的數據類型。若是經過CAST()函數將這個值轉換爲decimal類型,須要首先定義decimal值的精度與小數位數。在本例中,精度與小數位數分別爲9 與2。精度是總的數字位數,包括小數點左邊和右邊位數的總和。而小數位數是小數點右邊的位數。這表示本例可以支持的最大的整數值是9999999,而最小的小數是0.01
*/
SELECT CAST('12.5' AS decimal) 
/* 結果是一個整數值:12 
精度和小數位數的默認值分別是18與0。若是在decimal類型中不提供這兩個值,SQL Server將截斷數字的小數部分,而不會產生錯誤*/ 

 

  • Oracle

oracle to_char函數將number轉成string_oracle_腳本之家 
Oracle to_char函數的使用方法_oracle_腳本之家 

相關文章
相關標籤/搜索