日度归档:2019年6月1日

mysql 获取当前数据库版本的五种方法分享


摘要:
下文讲述在mysql中获取数据库版本的五种方法分享,如下所示:
实验环境:sql server 2008 R2


方法一: 进入mysql安装目录,输入相关命令,查看版本信息,如下:

[localhost@root]/usr/local/src/mysql/bin >mysql -V;
 或
[localhost@root]/usr/local/src/mysql/bin >mysql --version;

方法二: 进入mysql安装目录,输入? 或help命令,查看版本信息,如下:

[localhost@root]/usr/local/src/mysql/bin >mysql -I(大写i);
 或
[localhost@root]/usr/local/src/mysql/bin >mysql --help;
 或
[localhost@root]/usr/local/src/mysql/bin >mysql -?;

方法三: 进入mysql,输入select version()命令获取,如下:

[localhost@root]/usr/local/src/mysql/bin /mysql > select version(); 

方法四: 进入mysql,输入status命令获取,如下:

[localhost@root]/usr/local/src/mysql/bin /mysql > status; 

方法五: 进入mysql,输入\s命令获取,如下:

[localhost@root]/usr/local/src/mysql/bin /mysql > \s; 

mssql sqlserver 使用sql脚本统计数据时,生成多个统计列的方法分享


摘要:
下文讲述使用sum case 对数据进行分组统计,如下所示:
实验环境:sql server 2008 R2


例:
生成数据报表,统计出1号~30号每天的销售数量

   create table [maomao365.com] (busiDate  datetime,qty int)
   go  
   insert into [maomao365.com](busiDate,qty)values
   ('2019-6-1',5),('2019-6-3',8),('2019-6-1',89),('2019-6-12',98),
   ('2019-6-21',5),('2019-6-23',8),('2019-6-18',89),('2019-6-25',98)    
    go
    
  ---按月生成每天的数据报表如下所示:
     select  month(busiDate) as [月份],   
         sum(case when day(busiDate)=1 then qty else 0 end) as "1日销售额",  
         sum(case when day(busiDate)=2 then qty else 0 end) as "2日销售额", 
         sum(case when day(busiDate)=3 then qty else 0 end) as "3日销售额"  
    from [maomao365.com]
     where 1=1 
     group by    month(busiDate) 
     
    go
    truncate table [maomao365.com]
    drop       table [maomao365.com]

mssql sqlserver 使用sql脚本将小写字母转换为大写字母的方法分享


摘要:
下文讲述在sqlserver中实现小写字母转换为大写字母的方法分享,如下所示:
实验环境:sql server 2008 R2


在平常的开发中,我们经常需要将小写字母转换为大写字母,其它非英文字母转换为空字符

实现思路:
获取字符的ASCII码,如果为小写字母,则转换为对应大写字母的ASCII编码
如果通过ASCII检测到本身为大写字母,则保持字母不变,直接返回

例:
为实现此功能,我们需先定义一个sql函数:

      CREATE FUNCTION [dbo].[fn_toUpper] 
      (
        @Tmp nCHAR(1)
     ) RETURNS nCHAR(1)
   AS
     BEGIN
    DECLARE @UppercaseTmp nCHAR(1) = ''   
       
    IF LEN(ISNULL(@Tmp,'')) > 0 
    BEGIN
        IF ASCII(@Tmp) % 97 + 1 <= 26
            SET @UppercaseTmp = CHAR(ASCII(@Tmp) - (97 - 65)) 

        IF ASCII(@Tmp) % 65 + 1 <= 26
            SET @ UppercaseTmp = @Tmp
    END      
    RETURN @UppercaseTmp
END
GO