MySQL ORD() 函式



MySQL 的ORD()函式接受字串值作為引數,如果給定字串的最左字元是多位元組字元,則此函式使用以下公式計算其程式碼:

(1st byte code) + (2nd byte code * 256) + (3rd byte code * 2562)

相反,如果給定字串的最左字元不是多位元組字元,則此函式返回其數值,就像 ASCII 函式一樣。

語法

以下是 MySQL ORD() 函式的語法:

ORD(str)

引數

此函式採用字串值作為引數。

返回值

此函式返回給定字元的 Unicode 程式碼點。

示例

在下面的示例中,我們使用 ORD() 函式計算多位元組字元 '€'、'á'、'仮'、'平'、'అ' 和 'ఆ' 的程式碼:

SELECT ORD('€'), ORD('á'), ORD('仮'), ORD('平'), ORD('అ'), ORD('ఆ');

以下是上述程式碼的輸出:

ORD('€') ORD('á') ORD('仮') ORD('平') ORD('అ') ORD('ఆ')
14844588 50081 14990254 15055283 14725253 14725254

示例

如果傳遞給此函式的引數的第一個字元不是多位元組字元,則 ORD() 函式的行為與 ASCII() 函式相同:

SELECT ORD('test');

獲得的輸出如下:

ORD('test')
116

以下是 ASCII() 函式的示例:

SELECT ASCII('test');

生成的輸出如下:

ASCII('test')
116

示例

如果將空字串作為引數傳遞給此函式,則它返回 0:

SELECT ORD('');

我們得到以下輸出:

ORD('')
0

示例

當您將 NULL 值作為引數傳遞時,函式返回 NULL:

SELECT ORD(NULL);

產生的結果如下所示:

ORD(NULL)
NULL

示例

ORD() 函式對小寫和大寫字元返回不同的值。

這裡,我們檢索字母 'A'(大寫)的 ORD 值:

SELECT ORD('A');

以下是上述程式碼的輸出:

ORD('A')
65

現在,我們檢索字母 'a'(小寫)的 ORD 值:

SELECT ORD('a');

以下是上述程式碼的輸出:

ORD('a')
97

示例

您還可以將表的列名作為引數傳遞給此函式,並獲取其所有實體的第一個字元的 ORD 編號。

讓我們建立一個名為“STD”的表,並使用 CREATE 和 INSERT 語句向其中插入記錄,如下所示:

CREATE TABLE STD (
   name VARCHAR(15),
   TeluguName VARCHAR(15)
);

現在,讓我們使用 INSERT 語句向其中插入記錄:

INSERT INTO STD VALUES 
('Raju', 'రాజు'),
('Krishna', 'కృష్ణ'),
('Satish', 'సతీష్');

獲得的 STD 表如下:

name TeluguName
Raju రాజు
Krishna కృష్ణ
Satish సతీష్

以下查詢檢索 'STD' 表中 'TeluguName' 列的實體的 ORD 值:

SELECT name, TeluguName, ASCII(TeluguName), ORD(TeluguName)  
FROM STD;

執行上述程式碼後,我們得到以下輸出:

name TeluguName ASCII(TeluguName) ORD(TeluguName)
Raju రాజు 224 14725296
Krishna కృష్ణ 224 14725269
Satish సతీష్ 224 14725304
mysql-ord-function.htm
廣告