日度归档:2019年10月5日

MySQL无法输入中文的解决方法分享


摘要:
下文讲述MySQL数据库中无法输入中文的解决方法

今天在MySQL建立了数据表,当插入中文字符时,就报错,出现这种情况的原因是:数据库的编码不对。

  ---1.查询MySQL数据库编码 
   mysql > show variables like'%char%';
  ---创建数据库指定编码
    mysql >create database maomao DEFAULT CHARACTER SET utf8;
  ----maomao 为数据库名称 

   ---对已存在的数据库,可通过修改表属性,使其可存储中文
    ---查看列属性
     mysql > show full columns from tablename;
    
     ---修改列编码
     mysql >alter table tablename change columnsname columnsname varchar(255) 
           >character set utf8 collate utf8_unicode_ci not null default ''; 
   
     /*
         tablename:数据表名称
         columnsname:列名称
     */
 


Latinl不能存储中文,是因为Latinl中每个字符占用一个字节,但是一个字节无法存储中文信息。

mssql sqlserver SET和SELECT变量赋值关键字的应用场景说明


摘要:
下文讲述set和select变量赋值关键字的用法,如下所示:
实验环境:sql server 2008 R2

下文将通过举例的形式将数值赋值给变量

create table [maomao365.com](keyId int identity,
info varchar(80))
go
---生成基础数据
insert into [maomao365.com](info)values
('sqlserver'),('sqlblog'),(N'猫猫小屋')
go

---使用set 获取一行数据
declare @info varchar(80)
set @info =(select info from 
[maomao365.com] where keyId =2
)
print '-1:--'
print @Info

go
---使用set 获取多行数据
---将会输出相应的错误信息
declare @info varchar(80)
set @info =(select info from 
[maomao365.com] 
) 
print '-2:--'
print @Info
go


-- 使用select获取单行数值
declare @info varchar(80)
 select  @info= info from 
[maomao365.com] where keyId =2
 
print '-3:--'
print @Info
GO

-- 使用select获取多行数值
declare @info varchar(80)
 select @info = info from 
[maomao365.com]  
  
print '-4:--'
print @Info
GO


declare @keyid int
declare @info varchar(80)
 select @keyid=keyId,@info=info from 
[maomao365.com]  
 
print '-4:--'
print @Info
go



go
truncate table [maomao365.com]
drop     table [maomao365.com]


使用SET的情景:
直接赋值,不需要任何查询
使用SELECT的情景:
同时对多个变量赋值,例:事务编写时,需同时获取@@ROWCOUNT和@@ERROR值
通过select查询对变量进行赋值

mssql sqlserver sql脚本对数值求“绝对值”的方法分享


摘要:
下文讲述sql脚本求“绝对值”的方法分享,如下所示:
实验环境:sql server 2008 R2



实现思路:
使用sql abs函数对数值进行计算返回绝对值转换后结果

abs 函数语法:
ABS( numeric_expression )
参数说明:
numeric_expression
精确数字或近似数字数据类型类别的表达式,或者可隐式转换为 float数据类型的表达式

   declare @maomao365 int 
    set @maomao365 = -108;

    select abs(@maomao365)