⑴ sql语句中带有中文怎么办
这个中文如果在字符串内,只要被单引号引着就没问题
如果在单引号外面,程序就出错了
⑵ 在mysql中的sql语句中可不可以包含中文字符
可以的,在创建数据库的时候把语言设置为gb2312就好了。但是有时候还是会出现乱码问题。比较烦人。
⑶ sql语句中有中文,符号等怎么处理
对于特殊字符
要用到转义符
name like '%\%%' escape '\'意思就是保留\后面的一个字符,无视\
就是name中包含%的记录
你给几个改完的字段的例子阿
比如说'你好(%><;'i9hh %()'你要改成怎样
‘你不好%*#@)%’这个又要改成怎么
⑷ 如何解决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语句中通配符有几种
SQL语句中通配符有四种,分别是百分号%、下划线_、方括号[ ]、方括号[!](或[^])。
在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL 通配符必须与 LIKE 运算符一起使用。
1、百分号%:可匹配任意类型和长度的字符,如果是中文,请使用两个百分号即%%。
2、下划线_:匹配单个任意字符,它常用来限制表达式的字符长度。
3、方括号[ ]:指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
方括号[^]或者[!]:其取值也[ ]相同,但它要求所匹配对象为指定字符以外的任一个字符。
(5)sql语句中的符号需使用中文扩展阅读:
SQL通配符是使用用特殊字符或语法拼写,用来执行模糊搜索指令的语句功能。在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。如在数据中搜索以大写“A”字母开头的字符类型数据,可以使用like "A%"。
下划线和百分号在sql模糊查询like语句中为特殊字符,分别可匹配1个字符和0到多个字符,如果需要真正查询特殊字符得转义,如like 'a\_b%' escape '',将匹配前3个字符为a_b的所有记录。
参考资料来源:网络-SQL通配符
⑹ sql表为中文的查询语句
和英文的基本一样.
除非你中文里面包含空格什么的, 就要额外处理了.
比如 Oracle 用双引号
SELECT * FROM "中文 表名"
SQL Server 用 []
SELECT * FROM [中文 表名]
MySQL用 ` ( 标准键盘 数字1 左边的那个符号)
SELECT * FROM `中文 表名`
⑺ SQL语句查询字段值可不可以用中文的,例如像这样的。
可以,如果你字段类型用varchar它会把空格也当成一个字符,所以如果你不小心存储的时候存的是‘张三(空格)’,那你查询的时候就要用where trim(name) = '张三'