gpt4 book ai didi

java - 数据类型 varchar(max) 和 text 在等于运算符中不兼容。在SQL Server2005中怎么解决?

转载 作者:行者123 更新时间:2023-12-01 13:48:14 25 4
gpt4 key购买 nike

while(rs.next())
{
String key=rs.getString(1);
String val=rs.getString(2);
it=ar1.get(k).toString();
if(it.trim().equals(key.trim()))
{
val=val.substring(1);
val=val+"1";
}
else
{
val=val.substring(1);
val=val+"0";
}

st = con.prepareStatement("update win set seq=? where keyy=?");
st.setString(1,val);
st.setString(2,key); //here i am getting exception
st.executeUpdate();
st.close();
}

如果我将表中 seq 和 keyy 的数据类型更改为文本,则会显示数据类型 text 和 text 在等于运算符中不兼容

最佳答案

永远不会搞乱 TEXT 数据类型。但是,抛开有关文本“关键”列是否明智的问题,您将需要使用 like。您不能在 TEXTNTEXT 上使用标准比较运算符(=、<= 等)。您可以省略通配符,这样它的行为就像完全匹配一样。因此,如果您的 keyy 列是文本:

update win set seq=? where keyy like ?

顺便说一句,TEXTNTEXT 已在 SQL Server 的多个版本中被弃用,我确信总有一天他们会放弃它。您可能应该考虑转换为 CHARVARCHAR

关于java - 数据类型 varchar(max) 和 text 在等于运算符中不兼容。在SQL Server2005中怎么解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20180766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com