1. sql语句有中文,乱码怎么解决
方法一:
通过增加参数
–default-character-set
=
utf8
解决乱码问题
mysql
-u
root
-p
password
<
path_to_import_file
–default-character-set
=
utf8
方法二:
在命令行导入乱码解决
1.
use
database_name;
2.
set
names
utf8;
(或其他需要的编码)
3.
source
example.sql
(sql文件存放路径)
方法三:
直接粘贴sql文件里的代码
1.
打开sqlyog客户端软件;
2.
定位到sql编辑器,然后用记事本打开刚刚导出的sql文件;
3.
复制文件中所有sql语句到sql编辑器当中,执行这些sql代码;
方法四:
用记事本或其他文本工具改变sql文件的编码格式(若方法三不行,那就尝试方法四)
1.
用记事本(或ue)打开刚才的导出的sql文件;
2.
另存此文件——打开另存为对话框,选择对话框中的编码格式为unicode编码;
3.
保存文件,然后ctrl+a,全选;
4.
复制里面的sql语句到sqlyog中的“sql编码器”当中,再执行一次sql语句;
5.
执行完成后切记刷新一次,查看中文的数据表,乱码消除,大功告成;
2. 在SQL语句里面如何将字符型转换成数字型
将字陆销符的数字转成数字,比如'0'转成0可以直接用加法来实现;
例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决;
select * from pony order by (d+0);
在进行ifnull处理时,比如 ifnull(a/b,'0') 这样就会导致 a/b成了字符串,因此需要把'0'改成0,即可解决此困扰;
比较数字和varchar时,比如a=11,b="11ddddd";
则 select 11="11ddddd"相等;
若绝对比较可以这样:
select binary 11 =binary "11ddddd";
字符集转换 : CONVERT(xxx USING gb2312);
类型转换和SQL Server一样,就是类型参数有点点不搜郑同 : CAST(xxx AS 类型),CONVERT(xxx,类型);
类型必须用下列的类型:BINARY、CHAR()、DATE、TIME、DATETIME、DECIMAL、SIGNED、早漏游UNSIGNED。
3. Sql server出现中文乱码怎么办
使用sqlserver有时会出现中文乱码,这多半是软件中编码设置造成了,只需要修改本地编码既可以解决问题。
方法:
1、登陆“Microsoft SQL Server Management Studio”,然后选择对应的数据库的属性,打开属性标签。
4. 如何用SQL语句将表格中的tn字段的数据类型修改为char(8)
alter table change column tn char(8);这样就可以修改字段类型了,还可以设置字段是否为空,是否有默认值,以及字段注释。
5. sql语句中如何将字符类型转换成数字类型
to_number()转为数字格式
to_char()转为字符串格式
to_date()转为时间格式
..........
转为数字格式只有是数字的字符串才能转,这句话可能有点歧义,
通常字符前面带0或点的数字字符串转数字用到,如000012转为12,.55转为0.55,若是个英文符号等字符转了就报无效数字类型的错,如果遇到两种数据类型不一致情况数据库默认是会转的,如关联
ta.a=ba.b
ta.a是字符串,ba.b是数字,或者将ta.a插入到ba.b数据库就会自动转
6. Sql server出现中文乱码怎么办
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
注:如果无法修改陵拦竖的话,请尝试关闭所有与此数据库的连接,实在不行的话请重启动SQL SERVER服务。
两种方法衡派:
1:
安装尺大时不要选 Hide advice configuration options
然后再 Collation designator and order 中选择 Chinese_PRC 就可以了。
2:
在建表时指明某个字段的语言
方法 COLLATE Chinese_PRC_CS_AS_WS
示例:
create table test
(
a varchar(255) COLLATE Chinese_PRC_CS_AS_WS NULL,
b varchar(255) COLLATE sql_latin1_general_cp1_ci_as NULL
)
insert test values('中文','中文')
插入后 字段 a 为 中文 ,b 为 ??