我有一個包含varchar2(4000)數據類型的URL值的列(URL)。其中一些值超過4000個字符,那麼是否有一種方法可以讓我只將列中的那些值超過4000個字符的子字符串替換爲用同一列中的子字符串替換原始值?子字符串列值超過4000個字符
回答
你能夠找到超過4000個字符這樣的列,
select userid, length(description)
from Users
where length(description) > 4000;
所以分辨率,你能做到這一點的CTL文件本身如下,
description "SUBSTR(:description, 1, 4000)",
如果你不想要鬆散的數據,那麼你可以使用CLOB
數據類型而不是varchar2(4000)
是的,我已經嘗試過CLOB數據類型,但是我需要這些數據進行文本挖掘,顯然CLOB數據類型在建模過程中沒有考慮到,對於這個問題,nvarchar2也不是。 – user1874311
然後,只要你使用varchar2,你將最終發生機智錯誤。但是你可以使用子字符串來限制數據。由於您需要用於文本挖掘的數據,因此您應該有一個具有CLOB數據類型的臨時表。 – Mari
或者另一種方式,您可以編寫一個觸發器將這些記錄存儲在臨時表中(可以將它們分開或使用CLOB數據類型) – Mari
varchar最多支持4,000個字符;每個和每個函數輸出,如SUBSTR,都是一個varchar,所以不能容納超過4000個字符的字符串。你將會使用clob;但是clob是一個lobobject;所以,它會很慢。
您可以在創建表時添加2列並使用PL/SQL塊作爲varchar在PL/SQL中最多可以有32,767個字符。
- 1. ORA-01704錯誤,插入超過4000個字符的字符串
- 2. 超過4000個字符的子字符串獲取ORA-06502:PL/SQL:數字或值錯誤
- 3. 檢查超過4000個字符的列中的記錄
- 4. 使用SQL Server替換字符串替換函數 - 字符串有超過4000個字符 - 該怎麼辦?
- 5. INT列值超過10個字符
- 6. CLOB在Oracle不允許插入數據超過4000個字符
- 7. 如何在SQL Server參數中存儲超過4000個字符?
- 8. NTEXT與SQL Server CE的超過4000個字符中的Windows Phone
- 9. Oralce CLOB不能插入超過4000個字符?
- 10. ASP.NET網頁 - 存儲nvarchar超過4000個字符
- 11. 在sql server 2000中替換ntext(超過4000個字符)
- 12. 顯示4000+個字符的CLOB列
- 13. 是否有使用通用SQL插入一個字符串超過4000個字符長成CLOB任何方式
- 14. 檢查字符串中有超過15個字符的字
- 15. 字符串長度超過2個字符,但字符串[1]返回錯誤?
- 16. 如何使用Java/JDBC在Oracle數據庫中存儲長度超過4000個字符的字符串?
- 17. SQL Server不能在本地字符串變量中存儲超過4000個字符
- 18. 與超過4000個字符中的Oracle SQL中的XML更新NCLOB列
- 19. 長字符串(4000)在Oracle查詢
- 20. 用boost-spirit解析超過15個字符的字符串
- 21. MailMerge查詢字符串超過255個字符
- 22. DbContext字符串構造函數超過128個字符
- 23. 如何讀取一次超過1個字符的字符串
- 24. 字符串輸入超過1000個字符時執行掛起
- 25. 搜索超過255個字符長的字符串在VBA WORD
- 26. 將字符串寫入超過4095個字符的文件
- 27. parseFloat超過16個字符的字符串
- 28. MySQL的隨機字符串超過32個字符
- 29. 的Python:ZIP解壓有超過255個字符的字符串
- 30. 無法採取超過4094個字符輸入的字符串
也許我很密集,但我對你認爲在varchar2(4000)列中有> 4000個字符的事實持懷疑態度。在列中可以有的最大字符數是4000 .. – StevieG