char(n)表示存儲固定長度為n個字節的字符,一個英文或者標點符號占用一個字節,一個中文占用兩個字節,所以char(n)可以存放n個英文或者標點符號,或者n/2個中文
目前創新互聯公司已為上千家的企業提供了網站建設、域名、網絡空間、網站托管、企業網站設計、屏南網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
nchar數據類型對每個英文(ASCII)字符都占用2個字節,對一個漢字也占用兩個字節,所有的字符都占用2個字節。
所以不會亂碼滴
是這樣的,因為在你的sql語句中會有特殊符號,如單引號,逗號等,這些是不能通過sql語句直接存儲的。
解決方案1:將你需要存儲的sql語句中的標點符號都使用 中文 標點,這樣就可以存儲。
解決方案2:如果是西文標點,你就需要對標點符號進行編碼存儲。不然就會出錯。
分析:如你要存儲 yes,i can.那么存儲語句應該是:
insert into tablename values('yes,ican');
就會提示出錯,因為 逗號 將語句隔開了,數據庫會認為你插入的是兩個字段:
yes和i can,但是如果是yes和i can,那么語句應該是:values('yes','i can');
結論:所以按以上方法肯定不能存儲。而在Server命名空間里面有這樣一組方法:
HTMLEncode() 和 HTMLDecode() 分別是對這些特殊文本進行編解碼的。
所以你在存儲“yes,i can” 的時候,對它進行一次“編碼”,
string bianma = HTMLEncode(); (HTMLEncode的返回值是什么你自己查下文檔)
然后就可以拿bianma來存入數據庫即可。
當然在你取出數據之后,就需要對該數據進行解碼操作。HTMLDecode();
分析結束,我曾經也在項目過程中遇到過這樣的問題,希望能夠幫到你。
問題分析:
出現ora-00933錯誤的原因是因為運行兩句sql,但是中間沒用標點隔開導致。
如圖:
解決方案:
在兩句sql中,每句以英文的逗號分隔即可。
oracle數據庫語法
切換用戶命令conn什么的不需要符號
普通sql命令(比如select update delete insert)末尾都需要加分號;
sql server數據庫
普通sql命令(比如select update delete insert)末尾不需要添加符號
一般是:用戶名+@+域名(就是你是用哪一個網站來申請的,如:163.com、126com、sina.com.cn)
如:CXQ@163.com
分兩部分寫
用戶名
和
域名
再見用@符號(表示at)連接
用戶名@域名
就是合法的電郵地址
email名稱@網站網址
例:sqlserver6@sina.com
sqlserver6:為我在新浪申請時注冊的帳號名稱,你可以自己想一個.不受限但不能有標點符號.
@:為固定的email分隔符
sina.com:為新浪網的網址(注:在哪能個網站申請的就填哪個網站的網址)