mssql sqlserver 保留小数位指定位数的2种方法分享

摘要:

下文讲述将”sql数值型”类型数值转换为指定小数位的数据

方法1:采用 cast 方式转换数值类型至指定小数位:


  declare @a  decimal(18,3)

set @a = 18.893

select cast @a as decimal(18,2)

方法2:采用 convert 方式转换数值类型至指定小数位:


  declare @a  decimal(18,3)

set @a = 18.893

select convert(decimal(18,2),@a)

mssql sqlserver剔除html中尖括号的方法分享


摘要:
下文分享剔除html中尖括号的方法


----  例:@tmp变量中
DECLARE @tmp NVARCHAR(max)=' 
< !DOCTYPE html > 
< html > 
< head > 
< /head > 
< body > 
< div> maomao365.com < / div>
< div> 猫猫小屋  < / div>
< /body > 
< /html > 
'
---新建剔除特殊字符的函数,如下所示:
CREATE FUNCTION [dbo].[replaceHtml] (@tmp NVARCHAR(MAX)) 
RETURNS NVARCHAR(MAX) 
AS
BEGIN
 WHILE CHARINDEX('<', @tmp) > 0 
 BEGIN 
 SET @tmp = STUFF(@tmp, CHARINDEX('<', @tmp), CHARINDEX('>', @tmp) - CHARINDEX('<', @tmp) + 1, ''); 
 end
 RETURN @tmp 
END;
go
----剔除html尖括号
SELECT dbo.replaceHtml(@str)

mssql sqlserver 关键字 GROUPING用法简介及说明


摘要:
GROUPING 用于区分列是否由 ROLLUP、CUBE 或 GROUPING SETS 聚合而产生的行
如果是原生态的行聚合,则返回0 ,新增的行数据就返回1

grouping 语法简介 :
GROUPING (<列名>)
参数列名:

返回值
tinyint


grouping 应用举例:

   create table test(info varchar(30))
go
insert into test (info)values('a'),
('b'),('a'),('c'),('d'),('d') 
go

select info,count_big(info),grouping(info)
 from test    group by info 
  WITH ROLLUP

go
drop table test 
----输出----
ifno    无列名  无列名
a	    2	    0
b	    1	    0
c	    1	    0
d	    2	    0
NULL	6	    1