使用 text、ntext 與 image 函數
下列函數專門用來操作 text、ntext 及 image 資料:
- TEXTPTR 會傳回 binary(16) 物件,包含指向 text、ntext 或 image 執行個體的指標。在資料列遭刪除之前,指標都是有效的。
- TEXTVALID 函數會檢查指定的文字指標是否有效。
文字指標會傳遞至 READTEXT、UPDATETEXT、WRITETEXT、PATINDEX、DATALENGTH 及 SET TEXTSIZE Transact-SQL 陳述式,這些陳述式可用來變更 text、ntext 及 image 資料。
在 Transact-SQL 陳述式中,text、ntext 及 image 資料永遠是以指標或資料位址來參考。
下列範例使用 TEXTPTR
函數,在 pubs
資料庫的 pub_info
資料表中,尋找與 pub_id``0736
相關聯的 text 資料行 (pr_info
)。首先,宣告本機變數 @val
。接著,文字指標 (長二進位字串) 會放入 @val
,並作為 READTEXT
陳述式的參數。這樣會從第五位元組開始傳回 10 個位元組 (位移 4
)。
附註: |
---|
若要執行此範例,您必須安裝 pubs 資料庫。如需如何安裝 pubs 資料庫的詳細資訊,請參閱<下載 Northwind 和 pubs 範例資料庫>。 |
USE pubs
DECLARE @val varbinary(16)
SELECT @val = TEXTPTR(pr_info) FROM pub_info
WHERE pub_id = '0736'
READTEXT pub_info.pr_info @val 4 10
以下為結果集:
(1 row(s) affected)
pr_info
----------------------------------------
is sample
使用 CAST 函數的明確轉換,支援從 text 轉換到 varchar、從 ntext 轉換到 nvarchar、從 image 轉換到 varbinary 或 binary,但 text 或 image 資料會被截斷為 8,000 個位元組,ntext 資料會被截斷為 4,000 個字元 (8,000 個位元組)。除此之外,無論是隱含轉換或明確轉換,都不支援將 text、ntext 或 image 轉換為其他的資料類型。不過,可以執行 text、ntext, 或 image 資料的間接轉換。例如:CAST( CAST( text_column_name AS varchar(10) ) AS int ).
請參閱
其他資源
TEXTPTR (Transact-SQL)
TEXTVALID (Transact-SQL)
Text 和 Image 函數 (Transact-SQL)