Oracle nvarchar2錯誤
Oracle nvarchar2 錯誤
問題:
使用substr函式擷取指定字串時,取出4位字元 年(例如2019),結果只取出3位(例如201);
問題原因:
字元型別 nvarchar2
解決方案:
通過TRANSLATE函式將 nvarchar2 轉換成 varchar2 。
問題重現:
---1 建立測試資料
create table t1(id number,t_format nvarchar2(100),t_name varchar2(100));
insert into t1 values(1,'abcde2019xxx0707uuu','abcde2019xxx0707uuu');
commit;
---2 通過substr函式擷取年月日
select id,
t_format,
t_name,
length(t_format),
length(t_name),
substr(t_format, 6, 4),
substr(t_format, 13, 4),
substr(t_name, 6, 4),
substr(t_name, 13, 4)
from t1;
select id,
t_format,
t_name,
substr(t_format, 6, 5),
substr(t_format, 13, 5),
substr(t_name, 6, 4),
substr(t_name, 13, 4)
from t1;
---3 通過TRANSLATE函式將 nvarchar2 轉換成 varchar2
select id,
t_format,
t_name,
substr(utl_raw.cast_to_varchar2(utl_raw.cast_to_raw(Translate(t_format USING CHAR_CS))),6,4),
substr(utl_raw.cast_to_varchar2(utl_raw.cast_to_raw(Translate(t_format USING CHAR_CS))),13,4),
substr(t_name, 6, 4),
substr(t_name, 13, 4)
from t1;
https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements001.htm#SQLRF30020
NVARCHAR2 Data Type
The NVARCHAR2 data type is a Unicode-only data type. When you create a table with an NVARCHAR2 column, you supply the maximum number of characters it can hold. Oracle subsequently stores each value in the column exactly as you specify it, provided the value does not exceed the maximum length of the column.
The maximum length of the column is determined by the national character set definition. Width specifications of character data type NVARCHAR2 refer to the number of characters. The maximum column size allowed is 4000 bytes.
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2649779/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 錯誤Oracle
- oracle 報大小寫錯誤Oracle
- Oracle 中varchar2 和nvarchar2區別Oracle
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- ORACLE匯入遇到ORACLE錯誤959解決方法Oracle
- ORA-01653錯誤是Oracle資料庫中常見的錯誤Oracle資料庫
- oracle ora-00054錯誤處理Oracle
- oracle關於ORA-12988錯誤Oracle
- ORACLE密碼錯誤驗證延遲Oracle密碼
- 【ERROR】Oracle列印錯誤程式碼解釋ErrorOracle
- windows下oracle的ora-27100錯誤WindowsOracle
- 快速顯示oracle錯誤號的含義Oracle
- ORACLE登入出現“ORA-12560:TNS:協議介面卡錯誤”錯誤修復Oracle協議
- Oracle 錯誤總結及問題解決 ORAOracle
- Oracle的TNS-12502 錯誤原因及解決Oracle
- 安裝ORACLE 12.2.0.1 GI 時遇到INS-44002錯誤Oracle
- oracle 19c rac打補丁常見錯誤Oracle
- AIX 5.3 Install Oracle 10g RAC 錯誤集錦AIOracle 10g
- 【常見錯誤】--Nltk使用錯誤
- iis7.5錯誤 配置錯誤
- Oracle查詢錯誤分析:ORA-01791:不是SELECTed表示式Oracle
- ORACLE 11g的密碼錯誤延時驗證Oracle密碼
- Oracle 不完全恢復遇到的ORA-600錯誤Oracle
- Oracle 11gRac 測試案例(四)叢集程式錯誤Oracle
- nginx 錯誤除錯Nginx除錯
- PbootCMS錯誤提示:執行SQL發生錯誤!錯誤:no such column: def1bootSQL
- 前端錯誤前端
- JavaFx 錯誤Java
- Oracle SQL Developer 連線資料庫總是顯示io錯誤OracleSQLDeveloper資料庫
- cls_oracle_logs.sh指令碼遭遇TNS-12508錯誤淺析Oracle指令碼
- 華納雲:linux系統中如何查詢oracle錯誤日誌LinuxOracle
- Oracle 19C OGG基礎運維-09OGG-15121錯誤Oracle運維
- 【ASK_ORACLE】檢查點錯誤“Cannot allocate new log”和“Checkpoint not complete”Oracle
- Promise基礎(消化錯誤和丟擲錯誤)Promise
- 記錄一次根據錯誤資訊無法定位錯誤的錯誤
- C中的匯流排錯誤和段錯誤
- Request 驗證錯誤沒有返回錯誤資訊?