專案場景:
開發程序中,使用PLSql Developer14 連接 Oracle 資料庫查詢資料
問題描述:
查詢資料中 ,使用查詢陳述句中 like '%中文的%'查詢指定資料
select * from workfltempl w where w.obname = '軟體%'
一直無法查詢出資料
原因分析:
1. 初步分析:
Sql陳述句正確,但資料一直不出現,肯定是決議執行程序中出錯,
這樣初步判斷是資料庫字符集不正確
2. 驗證分析:
通過執行兩條命令
select * from workflowtem w where w.objename like '%軟體%'
select * from workflowtem m where m.objename like '%PT000%';
發現
當查詢 陳述句like '%PT000%'字符為英文時,查詢回傳資料正常
當查詢 陳述句like '%軟體%'字符為中文是,查詢無資料回傳
解決方案:
方案一、修改資料庫字符集,將字符集改為ZHS16GBK
- Oracle設定環境變數
- 新增或修改環境變數
變數名NLS_LANG
變數值SIMPLIFIED CHINESE_CHINA.ZHS16GBK
方案二、改動程式
- 將程式中查到的中文字串轉換為Utf8
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/281331.html
標籤:其他
上一篇:樹形結構的選單表設計與查詢
下一篇:存盤程序和視圖
