sqlserver常用函数

- 1 - sqlserver常用函数

SQLServer是一种关系型数据库管理系统,它提供了许多有用的函数来处理数据。以下是一些常用的SQL Server函数:

1. SUBSTRING函数:用于返回一个字符串的子字符串。

2. LEN函数:用于返回一个字符串的长度。

3. REPLACE函数:用于将字符串中的指定字符或字符串替换为新的字符或字符串。

4. CHARINDEX函数:用于查找一个字符串中的子字符串的位置。

5. UPPER和LOWER函数:用于将字符串转换为大写或小写。

6. CAST和CONVERT函数:用于将一个数据类型转换为另一个数据类型。

7. GETDATE函数:用于返回当前系统日期和时间。

8. DATEPART函数:用于从日期或时间值中提取指定的部分(例如,年、月、日、小时、分钟或秒)。

9. DATEDIFF函数:用于计算两个日期之间的差异。

10. RANK和ROW_NUMBER函数:用于对查询结果进行排名和编号。

这些函数可以极大地方便SQL Server开发人员的工作,使他们能够更轻松地处理和管理数据。

合集下载

sqlserver函数大全

sqlserver函数大全

sqlserver函数⼤全

原⽂:SQL2008 表达式:是常量、变量、列或函数等与运算符的任意组合。https:///database/201801/712174.html ⼀旦成功地从表中检索出数据,就需要进⼀步操纵这些数据,以获得有⽤或有意义的结果。这些要求包括:执⾏计算与数学运算、转换数据、解析数值、组合值和聚合⼀个范围内的值等。下表给出了T-SQL函数的类别和描述。函数类别作⽤聚合函数执⾏的操作是将多个值合并为⼀个值。例如 COUNT、SUM、MIN 和 MAX。配置函数是⼀种标量函数,可返回有关配置设置的信息。转换函数将值从⼀种数据类型转换为另⼀种。加密函数⽀持加密、解密、数字签名和数字签名验证。游标函数返回有关游标状态的信息。⽇期和时间函数可以更改⽇期和时间的值。数学函数执⾏三⾓、⼏何和其他数字运算。元数据函数返回数据库和数据库对象的属性信息。排名函数是⼀种⾮确定性函数,可以返回分区中每⼀⾏的排名值。⾏集函数返回可在 Transact-SQL 语句中表引⽤所在位置使⽤的⾏集。安全函数返回有关⽤户和⾓⾊的信息。字符串函数可更改 char、varchar、nchar、nvarchar、binary 和 varbinary 的值。系统函数对系统级的各种选项和对象进⾏操作或报告。系统统计函数返回有关 SQL Server 性能的信息。⽂本和图像函数可更改 text 和 image 的值。

函数的组成

函数的⽬标是返回⼀个值。⼤多数函数都返回⼀个标量值(scalar value),标量值代表⼀个数据单元或⼀个简单值。实际上,函数可以返回任何数据类型,包括表、游标等可返回完整的多⾏结果集的类型。本章不准备讨论到这个深度,第12章将讲解如何创建和使⽤⽤户⾃定义函数,以返回更复杂的数据。函数⼰经存在很长时间了,它的历史⽐SQL还要长。在⼏乎所有的编程语⾔中,函数调⽤的⽅式都是相同的:Result=Function()在T-SQL中,⼀般⽤SELECT语句来返回值。如果需要从查询中返回⼀个值,就可以把SELECT当成输出运算符,⽽不⽤使⽤等号:SELECT Function()⼀个论点对于SQL函数⽽⾔,参数表⽰输⼊变量或者值的占位符。函数可以有任意个参数,有些参数是必须的,⽽有些参数是可选的。可选参数通常被置于以逗号隔开的参数表的末尾,以便于在函数调⽤中去除不需要的参数。在SQL Server在线图书或者在线帮助系统中,函数的可选参数⽤⽅括号表⽰。在下列的CONVERT()函数例⼦中,数据类型的length和style参数是可选的:CONVERT (data-type [(length)], expression[,style])可将它简化为如下形式,因为现在不讨论如何使⽤数据类型:CONVERT(date_type, expression[,style])根据上⾯的定义,CONVERT()函数可接受2个或3个参数。因此,下列两个例⼦都是正确的:SELECT CONVERT(Varchar(20), GETDATE())

SQLServer和Oracle常用函数对比

SQLServer和Oracle常用函数对比

SQLServer和Oracle常用函数对比

数学函数

1.绝对值

S:select abs(-1) value

O:select abs(-1) value from dual

2.取整(大)

S:select ceiling(-1.001) value

O:select ceil(-1.001) value from dual

3.取整(小)

S:select floor(-1.001) value

O:select floor(-1.001) value from dual

4.取整(截取)

S:select cast(-1.002 as int) value

O:select trunc(-1.002) value from dual

5.四舍五入

S:select round(1.23456,4) value 1.23460

O:select round(1.23456,4) value from dual 1.2346

6.e为底的幂

S:select Exp(1) value 2.7182818284590451

O:select Exp(1) value from dual 2.71828182

7.取e为底的对数

S:select log(2.7182818284590451) value 1

O:select ln(2.7182818284590451) value from dual; 1 8.取10为底对数

S:select log10(10) value 1

O:select log(10,10) value from dual; 1

9.取平方

S:select SQUARE(4) value 16

O:select power(4,2) value from dual 16

SQLServer常用单词表

SQLServer常用单词表

SQLServer常用单词表

T01

database 数据

DBMS 数据库管理系统

master 主要,首席

model 模型

relation 关系

studio 套件

server 服务器

client 客户端

T02

table 表

column 字段、列

design 设计

primary key 主键

foreign key 外键

datetime 日期时间

varchar

nvarchar

unique 唯一

identity

check 检查

T03

insert 添加

delete 删除

update 修改

select 查询

union 联合

value 值

null 空

T04

select 选择

distinct 不同的

order 排序

ascend 上升

descend 下降

percent 百分比

group 分组

where

having 持有 top 顶部

T05

like 像...一样

between 在...中间

max 最大值

min 最小值

average 平均值

count 计数

T06

having 持有

inner 内部的

outer 外部的

left 左边的

right 右边的

join 联接

SQLServer和Oracle的常用函数对比

SQLServer和Oracle的常用函数对比

SQLServer和Oracle的常用函数对比

---------数学函数

1.绝对值

S:select abs(-1) value

O:select abs(-1) value from dual

2.取整(大)

S:select ceiling(-1.001) value

O:select ceil(-1.001) value from dual

3.取整(小)

S:select floor(-1.001) value

O:select floor(-1.001) value from dual

4.取整(截取)

S:select cast(-1.002 as int) value

O:select trunc(-1.002) value from dual

5.四舍五入

S:select round(1.23456,4) value 1.23460

O:select round(1.23456,4) value from dual 1.2346

6.e为底的幂

S:select Exp(1) value 2.7182818284590451

O:select Exp(1) value from dual 2.71828182

7.取e为底的对数

S:select log(2.7182818284590451) value 1

O:select ln(2.7182818284590451) value from dual; 1

8.取10为底对数

S:select log10(10) value 1

O:select log(10,10) value from dual; 1

9.取平方

S:select SQUARE(4) value 16

O:select power(4,2) value from dual 16

SqlServercoalesce函数

SqlServercoalesce函数

SqlServercoalesce函数

功能⼀:

SELECT COALESCE(NULL, NULL, GETDATE())

由于两个参数都为null,所以返回getdate()函数的值,也就是当前时间。即返回第⼀个⾮空的值。由于这个函数是返回第⼀个⾮空的值,所以

参数⾥⾯必须最少有⼀个⾮空的值,如果使⽤下⾯的查询,将会报错:

SELECT COALESCE(NULL, NULL, NULL) 功能⼆:

declare @cc nvarchar(Max)

select @cc=coalesce(@cc +','+

client ,client

)

FROM t1

print @cc结果

还有⼀个很重要的功能:。当你尝试还原⼀个库,并发现不能独占访问时,这个功能⾮常

有效。我们来打开多个窗⼝,来模拟⼀下多个连接。然后执⾏下⾯的脚本:

DECLARE @SQL VARCHAR(8000)

SELECT @SQL = COALESCE(@SQL, '') + 'Kill ' + CAST(spid AS VARCHAR(10)) + '; '

FROM sys.sysprocesses

WHERE DBID = DB_ID('AdventureWorks')PRINT @SQL --EXEC(@SQL) Replace the print statement with exec to execute

SQLSERVER常用函数

SQLSERVER常用函数

SQLSERVER常用函数

***function(/*常用函数*/)***

----统计函数----

AV G --求平均值

COUNT --统计数目

MAX --求最大值

MIN --求最小值

SUM --求和

--AVG

use pangu

select avg(e_wage) as dept_avgWage

from employee

group by dept_id

--MAX

--求工资最高的员工姓名

use pangu

select e_name

from employee

where e_wage =

(select max(e_wage)

from employee) --STDEV()

--STDEV()函数返回表达式中所有数据的标准差

--STDEVP()

--STDEVP()函数返回总体标准差

--VAR()

--VAR()函数返回表达式中所有值的统计变异数

--VARP()

--VARP()函数返回总体变异数

----算术函数----

/***三角函数***/

SIN(float_expression) --返回以弧度表示的角的正弦

COS(float_expression) --返回以弧度表示的角的余弦

TAN(float_expression) --返回以弧度表示的角的正切

COT(float_expression) --返回以弧度表示的角的余切

/***反三角函数***/

ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角

ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角

ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角

ATAN2(float_expression1,float_expression2)

--返回正切是float_expression1 /float_expres-sion2的以弧度表示的角

sqlserver常用表值函数

sqlserver常⽤表值函数

1.fnSplit:把字符串分割为表。

CREATE FUNCTION fnSplit

(

@c VARCHAR(2000),

@split VARCHAR(2)

)

RETURNS @t TABLE(col VARCHAR(200))

AS

BEGIN

WHILE (CHARINDEX(@split, @c) <> 0)

BEGIN

INSERT @t

(

col

)

VALUES

(

SUBSTRING(@c, 1, CHARINDEX(@split, @c) -1)

)

SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')

END

INSERT @t

(

col

)

VALUES

(

@c

)

RETURN

END

GO

2.fnGetSplitString

将字符串拆分为表:例⼦:“1,2,3,4,5”拆分为表

CREATE FUNCTION [dbo].[fnGetSplitString]

(

@strId NVARCHAR(MAX),

@Delimiter CHAR(1)

)

RETURNS @TableList TABLE(strId NVARCHAR(MAX))

BEGIN

IF @strId = ''

RETURN

DECLARE @XML XML

SET @XML = '' + REPLACE(@strId, @Delimiter, '') +

''

INSERT @TableList

SELECT RTRIM(

LTRIM(REPLACE(Word.value('.', 'nvarchar(max)'), CHAR(10), ''))

) AS ListMember

FROM @XML.nodes('/root/csv') AS WordList(Word)

RETURN

END

GO

3.fnGetSplitIdAndRversion

SQLServer常用语句

SQLServer常⽤语句

1. 修改某列的字符集

tinyint,int,double,decimal,datetime都不⽀持字符集变更

ALTER TABLE TableName ALTER COLUMN ColumnName [varchar](30) COLLATE Chinese_PRC_CS_AS

2.不同字符集间⽐较

可以只在⼀列上使⽤Collate,保证和另⼀列的字符集⼀致

Select * From TableA A,TableB BWhere A.No Collate Chinese_PRC_CS_AS = B.No Collate Chinese_PRC_CS_AS

3.将多⾏的某列合并

表结构和数据如下

Create Table #TempTable

(

Id int,

[Description] varchar(50)

)

Insert #TempTable(Id,Description)

Select 1,'1.1' Union All

Select 1,'1.2' Union All

Select 2,'2.1' Union All

Select 2,'2.2' Union All

Select 2,'2.3'

Select * From #TempTable

3.1 输出结果

3.2更新表

3.3按组合并查询

SQL Stuff语法

STUFF ( character_expression , start , length ,character_expression )

以下⽰例在第⼀个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插⼊第⼆个字符串,从⽽创建并返回⼀个字符串

SELECT STUFF('abcdef', 2, 3, 'ijklmn')--运⾏结果aijklmnef

SQL Coalesce语法

COALESCE ( expression [ ,...n ] ) 返回其参数中第⼀个⾮空表达式。

sqlserver的datediff函数

sqlserver的datediff函数

这两天要把⼀个sqlserver数据库的程序改成oracle的,发现两个数据库之间的函数很多不⼀样.sqlserver的数据库中的DateDiff 函数⽤法解释如下:

描述

返回两个⽇期之间的时间间隔。

语法

DateDiff(interval, date1, date2 [,firstdayofweek][, firstweekofyear]])

DateDiff 函数的语法有以下参数:

参数 描述

interval 必选。字符串表达式,表⽰⽤于计算 date1 和 date2 之间的时间间隔。有关数值,请参阅“设置”部分。

date1, date2 必选。⽇期表达式。⽤于计算的两个⽇期。

firstdayofweek 可选。指定星期中第⼀天的常数。如果没有指定,则默认为星期⽇。有关数值,请参阅“设置”部分。

firstweekofyear 可选。指定⼀年中第⼀周的常数。如果没有指定,则默认为 1 ⽉ 1 ⽇所在的星期。有关数值,请参阅“设置”部分。

设置

interval 参数可以有以下值:

设置 描述

yyyy 年

q 季度

m ⽉

y ⼀年的⽇数

d ⽇

w ⼀周的⽇数

ww 周

h ⼩时

m 分钟

s 秒

firstdayofweek 参数可以有以下值:

常数 值 描述

vbUseSystem 0 使⽤区域语⾔⽀持 (NLS) API 设置。

vbSunday 1 星期⽇(默认)

vbMonday 2 星期⼀

vbTuesday 3 星期⼆

vbWednesday 4 星期三

vbThursday 5 星期四

vbFriday 6 星期五

vbSaturday 7 星期六

firstweekofyear 参数可以有以下值:

常数 值 描述

vbUseSystem 0 使⽤区域语⾔⽀持 (NLS) API 设置。

vbFirstJan1 1 由 1 ⽉ 1 ⽇所在的星期开始(默认)。

Sqlserver常用函数例子说明

Sqlserver常⽤函数例⼦说明

在操作SQLServer的时候, 很多时候记不住具体的函数如何使⽤, 查找联机帮助还是嫌⿇烦, 且有很多时候例⼦也不好懂, 下⾯对每个常⽤的函

数⽤⽤例⼦说明,⼀⽬了然,你⾃⼰在数据库中执⾏⼀下,结果就知道什么回事了

--字符串功能

--substring

print substring('iamagoodperson',1,5)

select substring('iamagoodperson',1,5)

--upper

select upper('he is a good person')

--lower

select LOWER('this is an VERY interesting job')

--ltrim

select ltrim(' i am a good person')

--rtrim

select rtrim(' heihei,i do not know why it likes this ')

--replace

select replace('iwanttoaskyou','ttoa','i love you')

--stuff

select stuff('我的名字是朱旭杰',6,8,'summer')

--Date/Time Fuction

--getdate()

select getdate() as 'today'

--dateadd()

select dateadd(yy,10,getdate())

--datediff()

select datediff(yy,'1982/5/3',getdate()) as

--datepart()

select datepart(dw,getdate())

select datepart(yy,getdate())

select datepart(mm,getdate())

select datepart(dd,getdate())

select datepart(ss,getdate())

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