SQL TEXTPTR() 函数
SQL 的 TEXTPTR() 函数用于检索文本或图像的指针值。
它接受列作为参数,并返回当前文本、ntext或图像的 16字节指针值 。文本指针值是一个唯一的 varbinary(16字节) 值,表示您正在处理的每一行中的每个文本、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查询检索列 CITY(TEXT) 在 Customers 表中的内容的指针值−
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.