當前位置:首頁 » 編程語言 » javasql拼接字元串

javasql拼接字元串

發布時間: 2023-08-17 16:56:52

Ⅰ 高手java里拼sql語句的最大長度是多少

在java中sql的數據類型一般是String或StringBuffer。
java里拼sql語句的最大長度,也就是String或StringBuffer容納字元的最大個數。
String 的最大長度:
我們可以使用串接操作符得到一個長度更長的字元串,那麼,String 對象最多
能容納多少字元呢?查看String的源代碼我們可以得知類String中是使用域 count 來
記錄對象字元的數量,而count 的類型為 int,因此,我們可以推測最長的長度
為 2^32,也就是4G。
不過,我們在編寫源代碼的時候,如果使用 Sting str = "aaaa";的形式定義一個字
符串,那麼雙引號裡面的ASCII 字元最多隻能有 65534 個。為什麼呢?因為在class
文件的規范中, CONSTANT_Utf8_info 表中使用一個16 位的無符號整數來記錄字
符串的長度的,最多能表示 65536 個位元組,而Java class 文件是使用一種變體UTF-8
格式來存放字元的,null 值使用兩個位元組來表示,因此只剩下 65536- 2 = 65534
個位元組。也正是變體UTF-8 的原因,如果字元串中含有中文等非ASCII 字元,那麼
雙引號中字元的數量會更少(一個中文字元佔用三個位元組)。如果超出這個數量,在
編譯的時候編譯器會報錯。

而stringBuffer的最大長度:
一般認為沒有限制,直到內存溢出為止。
public static void main(String[] args) {StringBuffer str = new StringBuffer();for (int i = 0; i < 3640; i++) {str.append("0");}System.out.println(str);//這里輸出了3640個0str.append("0");System.out.println(str);//但是這里輸出的卻是空格?}我的機器上是多於3640就不成了,別的機器好像還不太一樣。
所以這和機器也有關系。可以自己編寫程序進行測試,看測試結果就知道了,這是最可靠的辦法。

Ⅱ java如何拼接sql語句

你咋不試試,
String columnStr;
String valueStr;
for(int i=0; i<columns.length; i++){
columnStr = "(" + columns[i] + ",";
valueStr = "'( \"" + value[i] + ",";
}

參考JAVA轉義字元。網路一下吧。你自己試試,我這里沒裝jdk,懶得弄了,准備休息了。

Ⅲ java程序中sql server和oracle、mysql的連接字元串有什麼不同

java連接sql server的連接字元串為:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url="jdbc:sqlserver://localhost:1433;database=資料庫名;user=用戶名;password=密碼";

java連接oracle的連接字元串為:
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@服務伺服器IP地址:埠號:資料庫,用戶名,密碼";

連接mysql的最簡單,為:
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/資料庫名",用戶名,密碼;

其實都是JDBC連接方式,而且與資料庫建立連接的步驟都一

Ⅳ java中如何解決sql字元串的拼接

String temp="";

for(String s : ids){
temp="("+s+"),"
}
temp=temp.subString(0,temp..lastIndexOf(","));

String sql="insert into info_cols(info_id) values "+s;

Conn.update(sql);
//這樣就與資料庫交互一次,資料庫交互盡量要少

Ⅳ sql查詢語句怎麼拼接字元串

--1、在where的地方可以用case
select*
from表1
where欄位1=casewhen@欄位1>0then@欄位1end

--2、或者在賦值的時候做判斷用4個參數,你可以根據下面的寫法自己修改
@欄位1,@欄位2,@欄位3,@欄位
if@欄位1>0
begin
select@欄位=@欄位1

select*
from表1
where欄位1=@欄位
end

ifif@欄位1<0and@@欄位2>0
begin
select@欄位=@欄位2

select*
from表1
where欄位1=@欄位
end

Ⅵ 求幫忙一個java的sql語句拼接,條件是 in 包括!

//不知道你usr_id怎麼傳入,現假設ids=[101,102]
Stringsql="select*fromusr_infouwhereu.usr_idin("
StringBuildersd=newStringBuilder(sql);
for(inti=0;i<ids.length();i++){
//實際操作,就是添加"'101『,"
sb.append("'").append(ids[i]).append("',");
}
sb.deleteAt(sb.length-1);//刪除最後一個逗號

sb.append(");");

System.out.print(sb.toString());

Ⅶ java 如何在sql里用一個逗號拼接的字元串與資料庫里的值做對比

逗號分隔字元串的數量可以通過 sql 中的一個自定義函數來計算: 參見: dropfunction search dhgo createf unction search (@strvarchar (max) comback int -- 設置返回值為 begindeclare@resultint -- 返回逗號 declare@jintset result = 0set@j = 1while@j

Ⅷ Java動態sql語句拼接

Map<String,Boolean> map = new HashMap<String,Boolean>();

Set<Entry<String, Boolean>> ens = map.entrySet();
StringBuilder sb = new StringBuilder();
if(ens != null && ens.size() > 0){
for(Entry<String, Boolean> en: ens){
if(en.getValue()){
sb.append("'").append(en.getKey()).append("',");
}
}
}
String names = sb.toString();
if(names.length() > 0){
names = names.substring(0, names.length()-1);//去掉最後一個逗號
String sql = "select * from stuent t1 where t1.name in("+names+")";
System.out.println(sql);
}else{
System.out.println("沒有及格的學生");
}

熱點內容
cocosandroid開發 發布:2025-02-05 17:22:17 瀏覽:667
編程員發型 發布:2025-02-05 17:09:18 瀏覽:225
網站會員管理源碼 發布:2025-02-05 17:03:32 瀏覽:193
伺服器埠怎麼調節 發布:2025-02-05 16:57:41 瀏覽:46
樂山海棠社區民意上傳 發布:2025-02-05 16:55:52 瀏覽:510
編程老爺爺 發布:2025-02-05 16:48:20 瀏覽:129
支持ftp的免費空間 發布:2025-02-05 16:32:00 瀏覽:891
python時間比較 發布:2025-02-05 16:31:46 瀏覽:52
手機銀行的密碼怎麼改密碼忘了怎麼辦啊 發布:2025-02-05 16:02:02 瀏覽:181
演算法牛人左 發布:2025-02-05 15:31:02 瀏覽:441