月度归档:2019年03月

mssql sqlserver 统计一张数据表中姓氏最多的人数的方法分享


摘要:
下文讲述使用sql脚本统计指定数据表的姓氏信息,如下所示:


实现思路:
通过建立姓氏表,将姓名表和姓氏表,进行匹配得到相应的姓氏信息,再使用聚合函数进行相应的计算操作,如下所示:

  CREATE TABLE #xingShi
(
	xing nvarchar(3)
)


CREATE TABLE #xingMing
(
	xingMing nvarchar(10)
)

INSERT INTO #xingShi  values('赵'),('钱'),('孙'),('李'),('欧阳'),('司马'),('上官')
INSERT INTO #xingMing values('赵匡胤'),('孙二娘'),('欧阳宛儿'),('上官燕')


SELECT B.xing,COUNT(1) AS [count] FROM #xingMing A INNER JOIN #xingShi B ON A.xingMing LIKE B.xing+'%'
GROUP BY B.xing

go

truncate table  #xingShi
drop       table  #xingShi

truncate table  #xingMing
drop       table  #xingMing

mssql sqlserver SET DATEFORMAT关键字用法简介


摘要:
设置年份、月份、日的显示顺序,如下所示:
实验环境:sql server 2008 R2


SET DATEFORMAT 关键字可以对数据类型date smalldatetime date time datetime2 datetimeoffset类型进行默认年月日的显示顺序进行相应的设置 。

SET DATEFORMAT 语法

SET DATEFORMAT format
—–参数说明—–
format:
参数值可为:
mdy、dmy、ymd、ydm、myd 、dym


SET DATEFORMAT 举例应用

  
 SET DATEFORMAT dmy;  
GO  
DECLARE @t datetime = '2019-3-31';  
SELECT @t;  
GO  

mssql sqlserver go关键字的功能简介说明


摘要:
下文讲述sqlserver中go关键字的功能,如下所示:
实验环境:sql server 2008 R2



go 功能说明

sqlserver 中go关键字的功能为:
告诉sqlserver 一段sql语句结束。
当使用go分隔语句时,每一个分隔段为一个单独的事务,一个分段中的事务执行失败,不会影响其它项的执行。
例:
在脚本开始前,加入go,代表告诉sql引擎,下面的命令为sql命令的第一句。

go关键字不是 sql语句中的关键字,而是osql isql工具中的命令识别符



go 关键字举例说明

select * from sys.tables where [name]=test
go
select '测试go关键字'

/*
以上脚本第一句为错误的sql脚本,但是我们在脚本段中加入了go关键字,所以第二段sql脚本还会得到执行和返回相应的结果。
*/