SQL - TEXTPTR() 函式



SQL 的TEXTPTR()函式用於檢索文字或影像的指標值。

它接受列作為引數,並返回當前文字、ntext 或影像的16 位元組指標值文字指標值是一個唯一的varbinary(16 位元組)值,它指示您正在使用的每個LOB(大型物件,是一種用於儲存大量非結構化或半結構化資料的資料型別)中每一行中每個文字、ntext 或影像列。

檢索到的文字指標值可用於讀取、寫入或更新現有文字語句。

語法

以下是 SQL TEXTPTR() 函式的語法:

TEXTPTR ( column )

引數

  • column − 這是一個文字、ntext 或影像列,從中將檢索指標值。

返回值

此函式返回文字或影像的指標值

示例

如果我們將表的NTEXT資料型別列作為引數傳遞給TEXTPTR()函式,它將返回該列的內容指標值。

假設我們使用 CREATE 語句建立了一個名為 Customers 的表,如下所示:

CREATE TABLE CUSTOMERS(    
ID INT NOT NULL,    
NAME VARCHAR (20) NOT NULL,    
AGE INT NOT NULL,    
ADDRESS CHAR (25) ,    
SALARY DECIMAL (18, 2),
PIN NTEXT,
CITY TEXT);

現在,讓我們使用 INSERT 語句將一些記錄插入 Customers 表中,如下所示:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY, PIN, CITY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00, '380001', 'Jamalpur');
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY, PIN, CITY) VALUES (2, 'Khilan', 25, 'Delhi', 1500.00,'110006','Chandni Chowk' );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY, PIN, CITY) VALUES (3, 'kaushik', 23, 'Kota', 2000.00,'325001', 'Aamli'); 
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY, PIN, CITY) VALUES (4, 'Chaitali', 25, 'Mumbai', 6500.00,'400002', 'Kalbadevi' );

以下 SQL 查詢檢索 Customers 表中 PIN(NTEXT) 列內容的指標值:

SELECT TEXTPTR(PIN) AS POINTER_VALUE FROM CUSTOMERS;

輸出

上述 SQL 查詢產生以下輸出:

+------------------------------------+
| POINTER_VALUE                      |
+------------------------------------+
| 0xFEFFA10F00000000DA01000001000000 |
| 0xFEFFA30F00000000DA01000001000200 |
| 0xFEFFA50F00000000DA01000001000400 |
| 0xFEFFA70F00000000DA01000001000600 |
+------------------------------------+

示例

您還可以將表的TEXT 資料型別列作為引數傳遞給此函式,它將返回該列內容的指標值。

考慮到上述Customers表,CITY列使用TEXT資料型別建立,因此現在讓我們將CITY列作為引數傳遞給TEXTPTR()函式以檢索該列內容的指標值。

以下 SQL 查詢檢索 Customers 表中 CITY(TEXT) 列內容的指標值:

SELECT TEXTPTR(CITY) AS POINTER_VALUE_OF_TEXT FROM CUSTOMERS;

輸出

+------------------------------------+
| POINTER_VALUE_OF_TEXT              |
+------------------------------------+
| 0xFDFFA20F00000000DA01000001000100 |
| 0xFDFFA40F00000000DA01000001000300 |
| 0xFDFFA60F00000000DA01000001000500 |
| 0xFDFFA80F00000000DA01000001000700 |
+------------------------------------+

示例

如果我們將VARCHAR 資料型別列作為引數傳遞給此函式,它將丟擲錯誤。

在以下示例中,我們將列NAME(資料型別 varchar)作為引數傳遞給TEXTPTR()函式以檢索列內容的指標值。

SELECT TEXTPTR(NAME) AS POINTER_VALUE_OF_TEXT FROM CUSTOMERS;

輸出

執行上述語句後,將產生以下輸出:

Argument data type varchar is invalid for argument 1 of textptr function.
sql-text-image-functions.htm
廣告