
- 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.