- SQL 教程
- SQL - 首页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL 数据库
- SQL - 创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL - 备份数据库
- SQL 表
- SQL - 创建表
- SQL - 显示表
- SQL - 重命名表
- SQL - 截断表
- SQL - 克隆表
- SQL - 临时表
- SQL - 修改表
- SQL - 删除表
- SQL - 删除表数据
- SQL - 约束
- SQL 查询
- SQL - 插入查询
- SQL - 选择查询
- SQL - Select Into
- SQL - Insert Into Select
- SQL - 更新查询
- SQL - 删除查询
- SQL - 排序结果
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL - Where 子句
- SQL - Top 子句
- SQL - Distinct 子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL - Having 子句
- SQL - AND & OR
- SQL - BOOLEAN (BIT) 运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY, ALL 运算符
- SQL - EXISTS 运算符
- SQL - CASE
- SQL - NOT 运算符
- SQL - 不等于
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION 与 UNION ALL
- SQL - INTERSECT 运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用连接
- SQL - 内连接
- SQL - 左连接
- SQL - 右连接
- SQL - 交叉连接
- SQL - 全连接
- SQL - 自连接
- SQL - 删除连接
- SQL - 更新连接
- SQL - 左连接与右连接
- SQL - Union 与 Join
- SQL 键
- SQL - 唯一键
- SQL - 主键
- SQL - 外键
- SQL - 组合键
- SQL - 候选键
- SQL 索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL - 唯一索引
- SQL - 集群索引
- SQL - 非集群索引
- 高级 SQL
- SQL - 通配符
- SQL - 注释
- SQL - 注入
- SQL - 托管
- SQL - Min & Max
- SQL - 空值函数
- SQL - 检查约束
- SQL - 默认约束
- SQL - 存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复数据
- SQL - 使用序列
- SQL - 自动递增
- SQL - 日期和时间
- SQL - 游标
- SQL - 公共表表达式
- SQL - Group By 与 Order By
- SQL - IN 与 EXISTS
- SQL - 数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数值函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL - JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问答
- SQL - 快速指南
- SQL - 有用函数
- SQL - 有用资源
- SQL - 讨论
SQL - TEXTVALID() 函数
SQL 的TEXTVALID()函数用于验证指针值。
它接受两个参数table.column和text_ptr,并检查指定的文本指针是否有效。如果且仅当指定的文本指针有效时,它返回1;否则返回零(0)。如果指定的列是不同的数据类型(如 varchar、int 等),则会抛出错误。
注意 - 文本列的标识符必须包含表名。在没有有效文本指针的情况下,您不能使用update-text、write-text 或 read-text。
语法
以下是 SQL TEXTVALID() 函数的语法 -
TEXTVALID ( 'table.column' ,text_ ptr )
参数
- table - 它是要使用的表的名称。
- column - 它是要用于验证的表的列。
- text_ptr - 它是要检查的文本指针。
返回值
此函数返回一个整数值(1 表示有效,0 表示无效)。
示例
如果指定的文本指针是有效的文本指针,则TEXTVALID()函数返回1。
假设我们使用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列的每个值是否存在有效的文本指针 -
SELECT ID, NAME, PIN, TEXTVALID('CUSTOMERS.PIN', TEXTPTR(PIN)) AS PIN_VALID_POINTER FROM CUSTOMERS;
输出
以上 SQL 查询产生以下输出 -
+----+------------+-------------------------------+ | ID | NAME | PIN | PIN_VALID_POINTER | +----+------------+-------------------------------+ | 1 | Ramesh | 380001 | 1 | | 2 | Khilan | 110006 | 1 | | 3 | kaushik | 325001 | 1 | | 4 | Chaitali | 400002 | 1 | +----+------------+-----------+-------------------+
示例
您还可以将TEXT 数据类型列作为参数传递给 SQL TEXTPTR() 函数,并使用TEXTVALID()函数来验证Customers表中CITY列的每个值是否存在有效的文本指针 -
SELECT ID, NAME, CITY, TEXTVALID('CUSTOMERS.CITY', TEXTPTR(CITY)) AS CITY_VALID_POINTER FROM CUSTOMERS;
输出
执行上述语句后,它将产生以下输出 -
+----+------------+---------------+--------------------+ | ID | NAME | CITY | CITY_VALID_POINTER | +----+------------+---------------+--------------------+ | 1 | Ramesh | Jamalpur | 1 | | 2 | Khilan | Chandni Chowk | 1 | | 3 | kaushik | Aamli | 1 | | 4 | Chaitali | Aamli | 1 | +----+------------+---------------+--------------------+
示例
如果指定的文本指针不是有效的文本指针,则TEXTVALID()函数返回0。
以下 SQL 查询验证Customers表中NAME列的每个值是否存在有效的文本指针 -
SELECT ID, NAME, TEXTVALID('CUSTOMERS.NAME', TEXTPTR(CITY)) AS NAME_VALID_POINTER FROM CUSTOMERS;
输出
+----+------------+--------------------+ | ID | NAME | NAME_VALID_POINTER | +----+------------+--------------------+ | 1 | Ramesh | 0 | | 2 | Khilan | 0 | | 3 | kaushik | 0 | | 4 | Chaitali | 0 | +----+------------+--------------------+
示例
如果我们将DECIMAL 数据类型列作为参数传递给此函数,它将抛出错误。
在以下示例中,我们将SALARY(数据类型 decimal)列作为参数传递给TEXTPTR()函数,并使用 SQL TEXTVALID()函数来验证Customers表中SALARY列的每个值是否存在有效的文本指针 -
SELECT ID, SALARY,TEXTVALID('CUSTOMERS.SALARY', TEXTPTR(SALARY)) AS NAME_VALID_POINTER FROM CUSTOMERS;
输出
执行上述语句后,它将产生以下输出 -
Argument data type decimal is invalid for argument 1 of textptr function.