1. 程式人生 > >SQL字串操作函式及示例

SQL字串操作函式及示例

REPLACE()

語法:REPLACE(‘string_replace1’,’string_replace2’,’string_replace3’)
”string_replace1” 待搜尋的字串表示式。string_replace1 可以是字元資料或二進位制資料。
”string_replace2” 待查詢的字串表示式。string_replace2 可以是字元資料或二進位制資料。
”string_replace3” 替換用的字串表示式。string_replace3 可以是字元資料或二進位制資料。
返回型別
如果 string_replace(1、2 或 3)是支援的字元資料型別之一,則返回字元資料。如果 string_replace(1、2 或 3)是支援的 binary 資料型別之一,則返回二進位制資料。
示例:replace(Comments, ‘產品:’, ”) 將Comments中的“產品:”替換為空‘’。

SUBSTRING()

語法:SUBSTRING ( expression, start, length )
expression是原欄位名稱,start是開始索引,length是擷取長度。
示例:select substring(‘helloworld’,4,3)
返回結果:low

CHARINDEX()

語法:CHARINDEX ( expression1 , expression2 [ , start_location ] )
Expression1是要到expression2中尋找的字元中,start_location是CHARINDEX函式開始在expression2中找expression1的位置。
CHARINDEX函式返回一個整數,返回的整數是要找的字串在被找的字串中的位置。假如CHARINDEX沒有找到要找的字串,那麼函式返回0。
此函式不能用於TEXT 和IMAGE 資料型別。

PATINDEX()

返回字串中某個指定的子串出現的開始位置。
PATINDEX (’%substring expression%’, column name)
與CHARINDEX 函式不同的是,PATINDEX函式的子串中可以使用萬用字元,且此函式可用於CHAR、 VARCHAR 和TEXT 資料型別。
1.PATINDEX ( ‘%pattern%’ , expression ) 類似於like ‘%pattern%’,也就是模糊查詢其pattern字串是否是expression找到,找到並返回其第一次出現的位置。
2.PATINDEX ( ‘%pattern’ , expression ) 類似於like ‘%pattern’,前面用模糊查詢,也就是查詢pattern的結束所在expression的位置,也就是從後面匹配起查詢。
3.PATINDEX ( ‘pattern%’ , expression ) 類似於like ‘pattern%’,前面用精確查詢,後面模糊查詢,也就相當於查詢pattern首次出現的位置
4.PATINDEX ( ‘pattern’ , expression ) 精確匹配查詢,也就是patttern,expression完全相等,不然返回0。

LEFT()/RIGHT()

LEFT (character_expression,integer_expression)
返回character_expression 左起 integer_expression 個字元。

STUFF()

SELECT STUFF(‘abcde’,2,3,’55555555’)
通過在第一個字串 (abcde) 中刪除從第二個位置(字元 b)開始的三個字元(字元bcd),
然後在刪除的起始位置插入第二個字串,建立並返回一個字串(a55555555e)。

LTRIM()/RTRIM()

sql語法中沒有直接去除兩頭空格的函式,但有ltrim()去除左空格rtrim()去除右空格。
合起來用就是sql的trim()函式,即select ltrim(rtrim(UsrName))

UPPER()/LOWER()

upper獲取字母大寫形式,Lower獲取字母小寫形式。
示例:upper(‘this database is a little complex.’)

ASCII()

返回字元表示式最左端字元的ASCII碼值
SELECT ASCII(‘this is a table’)
結果:116

CHAR()

將ASCII碼轉換為字元。如果輸入的ASCII值不在0~255之間,CHAR()就會返回NULL。
select char(116)
結果:t

STR()

把數值型資料轉換為字元型資料。
STR (float_expression[,length[, decimal]])
length 指定返回的字串的長度,decimal 指定返回的小數位數。如果沒有指定長度,預設的length 值為10, decimal 預設值為0。
當length 或者decimal 為負值時,返回NULL;
當length 小於小數點左邊(包括符號位)的位數時,返回length 個*;
先服從length ,再取decimal ;
當返回的字串位數小於length,左邊補足空格。

REVERSE()

將指定的字串的字元排列順序顛倒。
REVERSE (character_expression)
其中character_expression可以是字串、常數或一個列的值。
如:SELECT REVERSE(‘abcd’)
返回結果:dcba

REPLICATE()

返回一個重複character_expression指定次數的字串。
REPLICATE(character_expression, integer_expression)
如果integer_expression值為負值,返回NULL。
如:SELECT REPLICATE(‘AB’,2)
返回結果:ABAB

SPACE()

返回一個有指定長度的空白字串。
SPACE (integer_expression)
如果integer_expression值為負值,返回NULL。

QUOTENAME()

返回被特定字元括起來的字串。
QUOTENAME (’character_expression’[, quote_ character])
其中quote_character標明括字串所用的字元,預設值為“[]”。
如:SELECT QUOTENAME(‘aabb’,’{}’)
返回結果:{aabb}

CAST()

CAST (expression AS data_ type[ length ])
如:
SELECT CAST(‘200’ AS FLOAT)
SELECT CAST(‘200’ AS NVARCHAR(10))

CONVERT()

CONVERT (data_ type[ length ], expression [, style])

1)data_type為SQL Server系統定義的資料型別,使用者自定義的資料型別不能在此使用。
2)length用於指定資料的長度,預設值為30。
3)把char或varchar型別轉換為諸如int或smallint這樣的integer型別、結果必須是帶正號或負號的數值。
4)text型別到char或varchar型別轉換最多為8000個字元,即char或varchar資料型別是最大長度。
5)image型別儲存的資料轉換到binary或varbinary型別,最多為8000個字元。
6)把整數值轉換為money或smallmoney型別,按定義的國家的貨幣單位來處理,如人民幣、美元、英鎊等。
7)bit型別的轉換把非零值轉換為1,並仍以bit型別儲存。
8)試圖轉換到不同長度的資料型別,會截斷轉換值並在轉換值後顯示“+”,以標識發生了這種截斷。
9)用convert()函式的style 選項能以不同的格式顯示日期和時間。style 是將datetime和smalldatetime資料轉換為字串時所選用的由SQL Server系統提供的轉換樣式編號,不同的樣式編號有不同的輸出格式。

ISNUMERIC()

ISNUMERIC(COLUMN_Name)
查詢是數字的記錄:
SELECT * FROM TABLE WHERE ISNUMERIC(COLUMN)=1
查詢非數字的記錄:
SELECT * FROM TABLE WHERE ISNUMERIC(COLUMN)=0

相關推薦

SQL字串操作函式示例

REPLACE() 語法:REPLACE(‘string_replace1’,’string_replace2’,’string_replace3’) ”string_replace1” 待搜尋的字串表示式。string_replace1 可以是字元資料或二

SQL日期操作函式示例

GETDATE() 以datetime的預設格式返回系統當前的日期和時間。 示例:select getdate() 返回結果:2017-05-20 13:22:16.060 DAY() 語法:day(date_expression) 返回date_

fwrite fread fscanf fprintf C語言對字串操作函式

fwrite fread fscanf fprintf 都是屬於C函式用於檔案讀寫,前兩者對二進位制檔案讀寫,後兩者只要用於格式化的讀取、輸出文字,對文字檔案讀寫。  fscanf()  格式化的讀取,從檔案中讀取  fprintf() 格式化的寫入,寫入到檔案中

Flash讀寫操作常用函式示例-20180921

1、 memcpy() 描述:C 庫函式 void *memcpy(void *str1, const void *str2, size_t n)  從儲存區 str2 複製 n 個字元到儲存區 str1。 引數: str1 -- 指向用於儲存複製內容的目標陣列,型別

OpenCV 中的split函式和merge函式 示例

就讓我們來詳細介紹一下這兩個互為冤家的函式。首先是進行通道分離的split函式。 <1>split函式詳解 將一個多通道陣列分離成幾個單通道陣列。ps:這裡的array按語境譯為陣列或者陣列。 這個split函式的C++版本有兩個原型,他們分別是: C++:

Makefile中字串操作函式

makefile函式呼叫的形式: $(function args) function:函式名 args: 函式引數。引數和函式名之間用空格或tab鍵隔開,多個引數之間用逗號隔開。 1、subst – 特定字串替換 $(subst from,to,text) 在文字"t

(二)陣列,字串操作函式

陣列: 陣列可以理解為有序的 成對兒 的資料組成的集合 PHP 中根據索引值得不同 分為 :索引陣列 和 關聯陣列 即 PHP 中的陣列NB 了很多 下標不僅可以用數字 還可以 使用字串 陣列的建立 1,使用 array 函式來建立陣列 若建立時 只設置 valu

字串操作函式實現

1、Strcat函式 char *strcat(char *strDest, const char *strScr) //將源字串加const,表明其為輸入引數 { char * address = strDest; //該語句若

編寫一個函式 reverse_string(char * string)(遞迴實現) 實現:將引數字串中的字元反向排列。 要求:不能使用C函式庫中的字串操作函式

給定字串,程式碼如下: #include <stdio.h> #include <stdlib.h> #include <assert.h> char* reverse_string(char *str) { assert(str !

SQL字串連線函式

concat 將多行資料查詢後當做一行顯示 字串連線函式 concat(str1,str2..)函式 直接連線 group_concat(str1,str2..)函式 使用逗號做為分隔符 group_concat(id,' ',username,'

Postgresql資料庫的一些字串操作函式

  今天做專案遇到客戶反映了一個麻煩的事情,有一些資料存在,但就是在程式中搜索不出來,後來分析,發現問題為資料前面有幾個空白字元,後來用SQL查詢了一下,發現八九個資料表中,數千萬條資料中有將近三百萬條資料存在相同的問題,本想著在查詢時新增匹配符'%',後來試運行了一下,

JS陣列的slice()方法傳負數和字串操作函式中的slice()、substr()、substring()

定義和用法 slice() 方法可從已有的陣列中返回選定的元素。 語法 arrayObject.slice(start,end) 引數 描述 start 必需。規定從何處開始選取。如果是負數,那麼它規定從陣列尾部開始算起的位置。也就是說,-1 指最

字串操作函式的模擬實現(求大佬指教)

以下僅是自己實現的程式碼,當然裡面存在一些問題。望各位大佬能指點一二,指出其中指標使用不當之處,並指導const的用法。 #include <stdio.h> #include <string.h> char* my_strcpy(char de

php中的幾個字串操作函式strtoupper strtolower ucwords ucfirst lcfirst函式

strtolower($str)  是字串變成小寫 strtoupper($str)  是字串變成大寫 ucfirst($str)     字串首字元大寫 lcfirst($str)     字串首字元小寫 ucwords($str)  字串中各個單詞的首字母大寫

bootstrap-table如何給行內新增操作函式功能按鍵

$('#table').bootstrapTable('destroy'); $('#table').bootstrapTable({ //data:reet.data,url:'../data/yonghuguanli.json', //uniqueId: "SOBID"

C語言常用字串操作函式總結

函式名: strcpy 功 能: 將引數src字串拷貝至引數dest所指的地址 用 法: char *strcpy(char *dest, const char *src); 返回值: 返回引數de

linux C 中常用的字串操作函式

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSi

C語言 重寫C語言庫strchr字串操作函式

#include<stdio.h> #include<string.h> const char *my_strchr(char const *str,int ch) { int i=0; for(;str[i]!='\0';i++

編寫一個函式 reverse_string(char * string)(遞迴實現),將引數字串中的字元反向排列。 要求不能使用C函式庫中的字串操作函式

#include<stdio.h> #include<stdlib.h> int str(char *string) { int n = 0; while (*string) { n++; string++; } return n; } void rever

字串操作函式

1)字串操作 strcpy(p, p1) 複製字串 strncpy(p, p1, n) 複製指定長度字串 strcat(p, p1) 附加字串 strncat(p, p1, n) 附加指定長度字串 strlen(p) 取字串長度 strcmp(p, p1) 比較字