當前位置:首頁 » 編程語言 » sql中文字元

sql中文字元

發布時間: 2022-06-01 03:56:22

⑴ 怎麼給sql 2008的表設置純中文字元串,不能重名的約束

唯一性的限制:你可以把 名稱,簡稱 這兩個欄位加上unique的約束
alter table table_name
add constraint uq_name
unique(名稱);
alter table table_name
add constraint uq_short_name
unique(簡稱);
中文字元的限制:要根據你的字元集來決定方法,所以希望你能給出你資料庫的字元集。當然最好的辦法是從應用來控制,就像樓上說的。

⑵ SQL語句查詢返回字元串中中文字元前的字元(包含數字與字母)

select substring(field1,1,patindex('%[吖-咗]%',field1)-1) from table

⑶ 在mysql中的sql語句中可不可以包含中文字元

可以的,在創建資料庫的時候把語言設置為gb2312就好了。但是有時候還是會出現亂碼問題。比較煩人。

⑷ 關於SQL資料庫字元和位元組 急!!!!!!

nvarchar 和 varchar 的區別是存儲方式不同
varchar是按位元組存儲的.而nvarchar是按字元存儲的
比如說 varchar(40),能存儲40個位元組長度的字元,存儲中文字元的時候,因為中文字元1個字元就等於2個位元組.所以varchar(40)只能存儲20個中文字元.
nvarchar(40),就可以存儲40個中文字元,也就是說可以存儲80個位元組長度的字元.nvarchar要相對於存儲的字元類型.比如有些字元是佔3個位元組的.
同樣的,char和nchar也一樣道理。
char是定長的,也就是當你輸入的字元小於你指定的數目時,char(8),你輸入的字元小於8時,它會再後面補空值。當你輸入的字元大於指定的數時,它會截取超出的字元。

varchar是變長型,它的存儲空間會跟你輸入的實際字元數而改變,但最大長度不能超過你指定的長度。

nvarchar是unicode的變長型,它和char的區別很明顯了,它和varchar的區別主要是存儲空間大,相同長度下能容內更多的字元。

⑸ mysql文件保存的sql腳本打開之後所有中文字元顯示亂碼怎麼解決

亂碼多半是一些 插入的數據信息。。這些亂碼可以直接使用。。或者改下資料庫的編碼格式,UTF-8 或GBK等等。只要編碼格式一致一般不會出現亂碼。

⑹ 「Sql server」出現中文亂碼怎麼辦

如果SQL Server 系統排序規則為"SQL_Latin1_General_CP1_CI_AS",那麼資料庫及資料庫欄位排序規則都默認為"SQL_Latin1_General_CP1_CI_AS",如果欄位為varchar,插入中文,資料庫顯示為"?",且數據無法修復。解決辦法如下:
1。 修改欄位排序規則為"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入語句中,中文字元前加"N",可以插入中文字元。
2。 修改資料庫排序規則為"Chinese_PRC_CI_AS",欄位保持varchar,SQL語句不變,插入中文失敗,查看欄位屬性後發現,欄位排序規則實際上沒有變化,還是默認為"SQL_Latin1_General_CP1_CI_AS",再修改欄位排序規則,varchar不變,SQL不變,可以插入中文字元。
總結:
1。 修改系統排序規則沒有試過。
2。 修改資料庫排序規則不會把資料庫中欄位的排序規則改掉,但是為了顯示中文,資料庫排序規則必須改。
3。 僅僅修改欄位排序規則,還不能完全解決問題。

⑺ 如何解決SQL語句中含有中文字元無法查詢

package oop.hu.ytu.;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import oop.hg.ytu.beans.LoginBean;
import oop.hg.ytu.utils.JdbcUtils;
/**
* 處理用戶登錄請求
* @author Administrator
*
*/
public class LoginDomain {
public LoginBean select(String tableName,String username){
Connection con = null;
PreparedStatement pt = null;
ResultSet rs = null;
LoginBean bean = new LoginBean();
try {
username = "\""+username+"\"";
con = JdbcUtils.getConnection();
String sql = "select name,password from "+tableName+" where name="+username+"";
pt = con.prepareStatement(sql);
// pt.setString(1, tableName);
// pt.setString(2, u);
rs = pt.executeQuery();
while(rs.next()){
bean.setUsername(rs.getString("name"));
bean.setPassword(rs.getString("password"));
}
} catch (Exception e) {
throw new RuntimeException(e);
}finally{
JdbcUtils.free(rs, pt, con);
}
return bean;
}
}
username = "\""+username+"\"";這句話是進行字元串處理,加上雙引號。
<pre name="code" class="java" style="background-color: rgb(255, 255, 255); ">String sql = "select name,password from "+tableName+" where name="+username+"";
這句話是重點,一定不能使用PreparedStatement提供的字元串處理方法,一定要直接自己拼接出字元串來運行,這樣對於中文的處

⑻ 如何在sql server 2008 中文字元 3個位元組

你的要插入的對象列應該是nchar類型的,當插入中英文混合字元串時,如果英文不是兩兩成對的,就會出現????的亂碼結果。 因為一個中文字元占兩個位元組,而一個英文字元佔一個位元組。

⑼ Sql server出現中文亂碼怎麼辦

使用SQL SERVER2005的時候常常遇到中文字元為亂碼的情況,經過研究發現,設置SQL的排序規則可以解決這個問題。
1、登錄伺服器打開Microsoft SQL Server Management Studio。
2、在要修改的資料庫上單擊滑鼠右鍵,並選擇「屬性」。
3、在彈出的資料庫屬性窗口中點擊「選擇頁」中的「選項」。
4、將排序規則由默認的SQL_Latin1_General_CP1_CI_AS修改為Chinese_PRC_CI_AS。
5、點擊確定就OK。

varchar修改為nvarchar
char修改為nchar

熱點內容
安卓怎麼看蘋果手機的行駛軌跡 發布:2025-02-11 09:26:19 瀏覽:884
h板電影種子ftp 發布:2025-02-11 09:06:10 瀏覽:738
c語言數據類型定義 發布:2025-02-11 09:00:38 瀏覽:237
一個小時如何選擇伺服器 發布:2025-02-11 08:58:14 瀏覽:442
網易我的世界伺服器推薦國服 發布:2025-02-11 08:56:34 瀏覽:241
電視父母鎖屏密碼應該會是什麼 發布:2025-02-11 08:36:42 瀏覽:892
梅花適合用哪些植物進行配置 發布:2025-02-11 08:30:54 瀏覽:252
安卓手機如何像蘋果一樣彈窗 發布:2025-02-11 08:26:33 瀏覽:912
壓縮文件掃碼 發布:2025-02-11 08:20:55 瀏覽:258
小米5安卓70怎麼分屏 發布:2025-02-11 08:00:58 瀏覽:140