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
广告
© . All rights reserved.