但是我們可以換一種方法解決這個問題。下面就來分析下解決辦法。
對text或ntext類型的數據在查詢中不能進行字符串操作。這時用得最多的是把text當作varchar(實際內容長度低于8000字節時)或把ntext當作nvarchar(實際內容長度低于4000字節時)來處理。但是這樣處理也不是非常妥當畢竟如果text字段內容超過8000了豈不是要被截斷或者忽略掉。
最終找到了一種方法解決了”參數數據類型 text 對于 replace 函數的參數 1 無效”的問題。下面用一個例子來說明怎么處理的。
語法如下:
| 大值數據類型 | 早期版本中的 LOB |
|---|---|
| varchar(max) | text* |
| nvarchar(max) | ntext* |
| varbinary(max) | image |
* SQL Server 6.5 版本的客戶端不支持 ntext 數據類型,因此無法識別 nvarchar(max)。
重要提示:
請使用 varchar(max)、nvarchar(max) 和 varbinary(max) 數據類型,而不要使用 text、ntext 和 image 數據類型。
大值數據類型在行為上和與之對應的較小的數據類型 varchar(n)、nvarchar(n) 和 varbinary(n) 相同。下面介紹大值數據類型在某些特定情形下的使用:
游標由于可以定義大值數據類型變量,便可以將 FETCH 返回的大值數據類型列中的數據賦給本地變量。有關詳細信息,請參閱 FETCH (Transact-SQL)。 使用大值數據類型不影響游標的強制實施游標類型轉換用法。
成塊更新 UPDATE 語句現在支持 .WRITE( ) 子句對基礎大值數據列進行部分更新。這類似于 SQL Server 早期版本中所支持的對text、ntext、image 數據類型的文本指針操作、WRITETEXT 和 UPDATETEX。有關詳細信息,請參閱 UPDATE (Transact-SQL)。觸發器 支持對插入的和刪除的表中的大值數據類型列引用上使用 AFTER 觸發器。有關詳細信息,請參閱 CREATE TRIGGER (Transact-SQL)。
字符串函數 內置的可操作字符和二進制數據的字符串函數有所增強,可支持大值數據類型的參數。這些函數包括:
新聞熱點
疑難解答