天天看點

關于SQL字元串處理的一些函數

  1:replace 函數

  第一個參數你的字元串,第二個參數你想替換的部分,第三個參數你要替換成什麼

  select replace('lihan','a','b')

  -----------------------------

  lihbn

  (所影響的行數為 1 行)

  ================================================== =======

  2:substring函數(SQL Server 2005中)

  第一個參數你的字元串,第二個是開始替換位置,第三個是你要擷取的字元長度!第一個字元位置為1,不是0

  select substring('lihan',1,3);

  -----

  lih

  (所影響的行數為 1 行)

  ================================================== =======

  3:charindex函數

  第一個參數你要查找的char,第二個參數你被查找的字元串,第三個參數是指從哪個位置開始查找, 傳回參數一在參數二的位置

  select charindex('a','lihan',1)

  -----------

  4

  (所影響的行數為 1 行)

  ================================================== =========

  4:ASCII函數

  傳回字元表達式中最左側的字元的 ASCII 代碼值。

  select ASCII('lihan')

  -----------

  108

  (所影響的行數為 1 行)

  ================================================== ==============

  5:nchar函數

  根據 Unicode 标準的定義,傳回具有指定的整數代碼的 Unicode 字元。

  參數是介于 0 與 65535 之間的正整數。如果指定了超出此範圍的值,将傳回 NULL。

  select nchar(3213)

  ----

  unicode字元

  (所影響的行數為 1 行)

  ================================================== =======

  6:soundex

  傳回一個由四個字元組成的代碼 (SOUNDEX),用于評估兩個字元串的相似性。

  SELECT SOUNDEX ('lihan'), SOUNDEX ('lihon');

  ----- -----

  L546 L542

  (所影響的行數為 1 行)

  ================================================== =======

  7:char

  參數為介于 0 和 255 之間的整數。如果該整數表達式不在此範圍内,将傳回 NULL 值。

  SELECT char(125)

  ----

  }

  (所影響的行數為 1 行)

  ================================================== ========

  8:str函數

  第一個參數必須為數字,第二個參數表示轉化成char型占的位置,小于參數一位置傳回*,大于右對齊

  SELECT str(12345,3)

  ----

  ***

  (所影響的行數為 1 行)

  SELECT str(12345,12)

  ------------

  12345

  (所影響的行數為 1 行)

  ================================================== =========

  9:difference函數

  傳回一個整數值,訓示兩個字元表達式的 SOUNDEX 值之間的差異。

  傳回的整數是 SOUNDEX 值中相同字元的個數。傳回的值從 0 到 4 不等:0 表示幾乎不同或完全不同,4 表示幾乎相同或完全相同。

  SELECT difference('lihan','liha')

  -----------

  3

  (所影響的行數為 1 行)

  ================================================== ================

  10:stuff函數(四個參數)

  函數将字元串插入另一字元串。它在第一個字元串中從開始位置删除指定長度的字元;然後将第二個字元串插入第一個字元串的開始位置。

  SELECT stuff('lihan',2,3,'lihan')

  --------

  llihann

  (所影響的行數為 1 行)

  ================================================== =============

  11:left函數

  傳回最左邊N個字元,由參數決定

  select left('lihan',4)

  -----

  liha

  (所影響的行數為 1 行)

  ================================================== ==============

  12 right函數

  傳回最右邊N個字元,由參數決定

  select right('lihan',4)

  -----

  ihan

  (所影響的行數為 1 行)

  ================================================== ==============

  13:replicate函數

  我的認為是把參數一複制參數二次

  select replicate('lihan',4)

  --------------------

  lihanlihanlihanlihan

  (所影響的行數為 1 行)

  ================================================== ==============

  14:len函數

  傳回參數長度

  select len('lihan')

  -----------

  5

  (所影響的行數為 1 行)

  ================================================== ==============

  15:reverse函數

  反轉字元串

  select reverse('lihan')

  -----

  nahil

  (所影響的行數為 1 行)

  ================================================== ===============

  16:lower和upper函數

  參數大小寫轉化

  select lower(upper('lihan'))

  --------------------

  lihan

  (所影響的行數為 1 行)

  ================================================== ==================

  17:ltrim和rtrim函數

  删除左邊空格和右面空格

  select ltrim(' lihan ')

  --------------------------

  lihan

  (所影響的行數為 1 行)

  select rtrim(' lihan')

  ---------

  lihan

  (所影響的行數為 1 行)