字串函式
下表列出字串操作函式。 應用程式可以藉由呼叫 資訊類型 為 SQL_STRING_FUNCTIONS 的 SQLGetInfo ,判斷驅動程式支援哪些字串函式。
備註
以string_exp 表示 的引數可以是資料行、 字元字串常值 或另一個純量函式的結果,其中基礎資料類型可以表示為SQL_CHAR、SQL_VARCHAR或SQL_LONGVARCHAR。
以character_exp 表示 的引數是可變長度的字元字串。
以 start、length 或 count 表示 的引數可以是 數值常值 或 另一個純量函式的結果,其中基礎資料類型可以表示為SQL_TINYINT、SQL_SMALLINT或SQL_INTEGER。
此處列出的字串函式是以 1 為基礎;也就是說,字串中的第一個字元是字元 1。
ODBC 3.0 中已新增BIT_LENGTH、CHAR_LENGTH、CHARACTER_LENGTH、OCTET_LENGTH和 POSITION 字串純量函式,以配合 SQL-92。
函式 | 描述 |
---|---|
ASCII(string_exp ) ( ODBC 1.0) | 以整數傳回string_exp 最左邊字元的 ASCII 代碼值。 |
BIT_LENGTH( string_exp ) (ODBC 3.0) | 傳回字串運算式的長度 (以位元為單位)。 不只適用于字串資料類型,因此不會隱含地將string_exp 轉換成 字串,而是會傳回指定之資料類型的 (internal) 大小。 |
CHAR( code ) (ODBC 1.0) | 傳回具有程式碼 所 指定 ASCII 程式碼值的字元。 程式碼 的值 應該介於 0 到 255 之間,否則傳回值是資料來源相依的。 |
CHAR_LENGTH(string_exp ) ( ODBC 3.0) | 如果字串運算式是字元資料類型,則傳回字串運算式的字元長度;否則,會以位元組為單位傳回字串運算式的長度(小於除以 8 的位數最小整數)。 (此函式與CHARACTER_LENGTH函式相同。 |
CHARACTER_LENGTH( string_exp ) (ODBC 3.0) | 如果字串運算式是字元資料類型,則傳回字串運算式的字元長度;否則,會以位元組為單位傳回字串運算式的長度(小於除以 8 的位數最小整數)。 (此函式與 CHAR_LENGTH 函式相同。 |
CONCAT( string_exp1 , string_exp2 ) (ODBC 1.0) | 傳回字元字串,這是串連 string_exp2 至 string_exp1 的結果。 產生的字串為 DBMS 相依。 例如,如果以 string_exp1 表示的資料行包含 Null 值,DB2 會傳回 Null,但 SQL Server 會傳回非 Null 字串。 |
差異( string_exp1 , string_exp2 ) (ODBC 2.0) | 傳回整數值,指出 SOUNDEX 函式針對 string_exp1 和 string_exp2 傳回的值之間的差異。 |
INSERT( string_exp1 , 開始 , 長度 , string_exp2 ) (ODBC 1.0) | 傳回字元字串,其中 長度 字元已從 string_exp1 刪除,從開頭 開始 ,以及 從string_exp 開始插入string_exp2 的位置。 |
LCASE(string_exp ) ( ODBC 1.0) | 傳回等於 string_exp 中的 字串,並將所有大寫字元轉換成小寫。 |
LEFT( string_exp , 計數 ) (ODBC 1.0) | 會傳回最 左邊的 string_exp 字元。 |
LENGTH(string_exp ) ( ODBC 1.0) | 傳回string_exp中的 字元數, 不包括尾端空白。 LENGTH 只接受字串。 因此,會將string_exp 隱含轉換成 字串,並傳回此字串的長度(而非資料類型的內部大小)。 |
LOCATE( string_exp1, string_exp2 [, start ] ) (ODBC 1.0) | 傳回string_exp2內 第一個出現 string_exp1 的起始位置。 除非指定選擇性引數 start,否則搜尋第一個出現的 string_exp1 會以string_exp2 中的 第一個字元位置開始。 如果 指定 start ,搜尋會以 start 值所指示的 字元位置開始。 string_exp2 中的 第一個字元位置會以值 1 表示。 如果在 string_exp2內 找不到string_exp1 ,則會傳回值 0。 如果應用程式可以使用 string_exp1 、 string_exp2 和 start 引數呼叫 LOCATE 純量函 式,當使用選項的 option 呼叫 SQLGetInfo 時 ,驅動程式會傳回 SQL_STRING_FUNCTIONS SQL_FN_STR_LOCATE。 如果應用程式只能呼叫只有 string_exp1和 string_exp2 引數的 LOCATE 純量函式,則驅動程式會傳回SQL_FN_STR_LOCATE_2 SQLGetInfo 搭配 選項 SQL_STRING_FUNCTIONS呼叫時 。 支援使用兩個或三個引數呼叫 LOCATE 函式的驅動程式會同時傳回SQL_FN_STR_LOCATE和SQL_FN_STR_LOCATE_2。 |
LTRIM(string_exp ) ( ODBC 1.0) | 傳回string_exp 字元 ,並移除前置空白。 |
OCTET_LENGTH( string_exp ) (ODBC 3.0) | 傳回字串運算式的長度 (以位元組為單位)。 結果就是不小於位元數的最小整數除以 8。 不只適用于字串資料類型,因此不會隱含地將string_exp 轉換成 字串,而是會傳回指定之資料類型的 (internal) 大小。 |
位置( character_exp在 character_exp ) (ODBC 3.0) | 傳回第二個字元運算式中第一個字元運算式的位置。 結果是實作定義的有效位數和小數位數為 0 的精確數值。 |
REPEAT( string_exp, count ) (ODBC 1.0) | 傳回由重複計數 時間string_exp 組成的 字元字串。 |
REPLACE( string_exp1 , string_exp2 , string_exp3 ) (ODBC 1.0) | 搜尋 string_exp1 string_exp2 的等 位,並以 string_exp3 取代 。 |
RIGHT( string_exp , 計數 ) (ODBC 1.0) | 傳回最 右邊string_exp 的 計數 字元。 |
RTRIM(string_exp ) ( ODBC 1.0) | 傳回已 移除尾端空白的 string_exp字元。 |
SOUNDEX(string_exp ) ( ODBC 2.0) | 傳回資料來源相依字元字串,代表string_exp 中 單字的聲音。 例如,SQL Server 會傳回 4 位數的 SOUNDEX 程式碼;Oracle 會傳回每個單字的注音表示。 |
SPACE( count ) (ODBC 2.0) | 傳回由計數 空格組成的 字元字串。 |
SUBSTRING( string_exp , start , length**)** (ODBC 1.0) | 傳回衍生自 string_exp 的字元字串,從長度 字元開頭 所 指定的字元位置開始。 |
UCASE(string_exp ) ( ODBC 1.0) | 傳回等於 string_exp 中的 字串,並將所有小寫字元轉換成大寫。 |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應