SQL学习总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、With ties :查出与返回数据的最后一行的相同的数据

2、用法:select top(5) with ties 字段名FROM 表名

3、Over的使用

Over称为窗口函数

用法:sum(valus) over() 其是指对搜索出来的数据进行求和,不需要在进行分组,如果需要有限定条件则sum(valus) over(partition by字段名)

4、数据的计算

在进行数据与字段的乘除的时候,数字后面加一个点,(110.),这样就可以把整数字段隐式的装换为十进制数据进行乘除,否则则会使正式除法,回省略小数5、In 、like 、between的用法

In主要是指在多个数据中选择一个,进字段名的值在in之内

Like主要进行迷糊查询,例:like ‘ %as’

Between 主要是指字段值在两个值之间

6、N 的用法

N 表示国际化(national)用于表示字符串Unicode(nchar、nvarchar)

数据类型numeric是指实数例:numeric(12,2)(12指数据长度,2指小数位数)7、数据的优先级

1、()

2、x 、/、%

3、+ 、-、

4、

5、NOT

6、and

7、between 、in、like、or

8、=

8、case表达式的使用

Select 字段一,case 字段二

When‘条件’then 结果

When ‘条件’then 结果

End as 字段名from 表名

Case 与end是成对出现的

Case与case表达式的区别是,case表达式可以添加条件,但是case不可以While 语句的使用:进行1+2+3+…….+100

declare@sum int

set@sum=0

declare@I int

SET@I=0

WHILE@I<100

BEGIN

SELECT@SUM=@SUM+@I

SELECT@I=@I+1

END

SELECT (@sum)

求得日期的月份

select MESBUSINESS20.dbo.fun_GetRealYYYYMMByDate(SubmitDat e)

其中fun是函数

9、数据类型

Varchar 和char nvarchar 和nchar 前者是一个字节来保存一个字符,语言只能限定于英语,后者是用两个字节来保存一个字符,不进行语言限制

在进行查询时如果把null值当做空字符串进行连接时,则可以通过一个CONCAT_NULL_YIELDS_NULL 保持OFF状态

语法:SET CONCAT_NULL_YIELDS_NULL OFF

同时也可以使用COALESEC 函数进行转变COALESEC(字段)

Nvarchar 和varvhar的区别:

Nvarchar在分配内存是可以根结自身的大小进行调整,nvarchar(100),其中一百是自己的最大地址,varchar(100)不会根据自身大小进行调整,100就是其占用的内存,不会改变

10、函数的使用:

数据截取函数SUBSTRING

函数使用SUBSTRING(String,start,length)

Len函数和DATALENGTH函数

二者函数主要进行返回字符串的字符数,其中DATALENGTH返回字符串的字节数,用法:select len(N’字符串)/DATALENGTH(N’字符串)

区别:前者不包含尾随空格,后者包括尾随空格

Charindex函数

返回字符串中字串第一次出现的位置

用法:Charindex(substring,string,start-POS)

Substring是指字串,start-POS指开始检索的行

PATINDEX函数

PATINDEX函数主要是返回字符串中某个模式第一次出现的位置

用法:PATINDEX(pattern ,string)其中pattern和like函数相似,主要进行模糊查询PATINDEX(‘%0-9%’ ,’abcd12345’),返回5

REPLACE函数

REPLACE(string,substring1,substring2)

Substring1指要被替换的字段,substring2指替换成的字段

REPLICATE函数

REPLICATE 函数主要进行字符串的复制

用法:REPLICATE(string,n)

STUFF函数

STUFF函数选删除一个字符串再插入一个字符串

用法:STUFF(string,POS,length,insertstring)

POS是指开始插入的字符,length指长度

UPPER函数和LOWER 函数

UPPER函数和LOWER函数主要是进行字母的大小写转换的函数

RTRIM 函数和LTRIM 函数主要进行前后空格的删除

11、自定义函数的书写:

书写格式:

CREATEFUNCTION函数名(@字段,数据类型)

RETURNS

@表名TABLE(@字段,数据类型)

AS

Begin

SELECT 0

Return

End

例如:已知部门id,求其子部门

ALTERFUNCTION[dbo].[Fun_BM_GetSubDeptByID]

(@DeptID INT--指定部门的ID

)

RETURNS@SubDeptByIDTable TABLE

([ID][int]NOTNULL,

[PID][int]NULL,

cn_name[nvarchar](50)NULL,

en_name[nvarchar](50)NULL,

iscompany[smallint]NULL

)

AS

BEGIN

with SubDeptTree as(

select ID,PID,cn_Name,en_name,iscompany from V_BS_Department as a where ID=@DeptID union all

select b.ID,b.PID,_Name,b.en_name,b.iscompany from V_BS_ Department as b

join SubDeptTree on CHARINDEX(cast(SubDeptTree.id asvarchar(1

相关文档
最新文档