千家信息网

sqlserver常用函数大全

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、字符串函数datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格substring(expression,start,length) 不多说了,取子串right(ch
千家信息网最后更新 2026年11月02日sqlserver常用函数大全

一、字符串函数

datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格

substring(expression,start,length) 不多说了,取子串

right(char_expr,int_expr) 返回字符串右边int_expr个字符

left(, )

返回character_expression 左起 integer_expression 个字符。

ltrim() 把字符串头部的空格去掉。

rtrim() 把字符串尾部的空格去掉。

str ([,length[, ]]) 把数值型数据转换为字符型数据

length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。

当length 或者decimal 为负值时,返回NULL;

当length 小于小数点左边(包括符号位)的位数时,返回length 个*;

先服从length ,再取decimal ;

当返回的字符串位数小于length ,左边补足空格。

upper(char_expr) 转为大写

lower(char_expr) 转为小写

space(int_expr) 生成int_expr个空格

replicate(char_expr,int_expr)复制字符串int_expr次

reverse(char_expr) 反转字符串

stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从

start开始的length个字符用char_expr2代替

ltrim(char_expr) rtrim(char_expr) 取掉空格

ascii(char) char(ascii) 两函数对应,取ascii码,根据ascii码取字符

char() 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。

charindex(char_expr,expression) 返回char_expr的起始位置

patindex("%pattern%",expression) 返回指定模式的起始位置,否则为0


二、数学函数

trunc(45.923,1) 按指定精度截断十进制数 结果:45.9 此为oracle函数

mod(1600,300) 求除法余数 结果:100

abs(numeric_expr) 求绝对值

ceiling(numeric_expr) 取大于等于指定值的最小整数

avg(numeric_expr)取平均数

exp(float_expr) 取指数

floor(numeric_expr) 小于等于指定值得最大整数

pi() 3.1415926.........

power(numeric_expr,power) 返回power次方

rand([int_expr]) 随机数产生器

round(numeric_expr,int_expr) 安int_expr规定的精度四舍五入

sign(int_expr) 根据正数,0,负数,,返回+1,0,-1

sqrt(float_expr) 平方根


三、日期时间函数

getdate() 返回日期

getutcdate() --获取utc时间

day(getdate()) --取出天

month(getdate()) --取出月

year(getdate()) --取出年

datename(datepart,date_expr) 返回名称如 June

datepart(datepart,date_expr) 取日期一部份

datediff(datepart,date_expr1.dateexpr2) 日期差

dateadd(datepart,number,date_expr) 返回日期加上 number

上述函数中datepart的写法取值和意义:

yy 1753-9999 年份

qq 1-4 刻

mm 1-12 月

dy 1-366 日

dd 1-31 日

wk 1-54 周

dw 1-7 周几

hh 0-23 小时

mi 0-59 分钟

ss 0-59 秒

ms 0-999 毫秒


四、系统其他函数

suser_name() 用户登录名

user_name() 用户在数据库中的名字

user 用户在数据库中的名字

show_role() 对当前用户起作用的规则

db_name() 数据库名

object_name(obj_id) 数据库对象名

col_name(obj_id,col_id) 列名

col_length(objname,colname) 列长度

valid_name(char_expr) 是否是有效标识符


五、类型转换函数

convert (数据类型[(长度)],表达式[,样式])

将一种数据类型的表达式显式转换为另一种数据类型的表达式;

长度:如果数据类型允许设置长度,可以设置长度,例如 varchar(10);

样式:用于将日期类型数据转换为字符数据类型的日期格式的样式。


Style IDStyle 格式
100 或者 0mon dd yyyy hh:miAM (或者 PM)
101mm/dd/yy
102yy.mm.dd
103dd/mm/yy
104dd.mm.yy
105dd-mm-yy
106dd mon yy
107Mon dd, yy
108hh:mm:ss
109 或者 9mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110mm-dd-yy
111yy/mm/dd
112yymmdd
113 或者 13dd mon yyyy hh:mm:ss:mmm(24h)
114hh:mi:ss:mmm(24h)
120 或者 20yyyy-mm-dd hh:mi:ss(24h)
121 或者 21yyyy-mm-dd hh:mi:ss.mmm(24h)
126yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130dd mon yyyy hh:mi:ss:mmmAM
131dd/mm/yy hh:mi:ss:mmmAM


例如:

CONVERT(VARCHAR(19),GETDATE()) 返回:Dec 29 2008 11:45 PM

CONVERT(VARCHAR(10),GETDATE(),110) 返回:12-29-2008

CONVERT(VARCHAR(11),GETDATE(),106) 返回:29 Dec 08

CONVERT(VARCHAR(24),GETDATE(),113) 返回:29 Dec 2008 16:25:46.635


cast (表达式 AS 数据类型[(长度)])

将一种数据类型的表达式显式转换为另一种数据类型的表达式。

例如:select cast(123 as nvarchar) 返回123

select N'年龄:' + cast(23 as nvarchar) 返回 年龄:23


六、系统函数

newid() 无参数

返回一个GUID(全局唯一表示符)值

例如:select newid()

返回:2E6861EF-F4DB-4FFE-86EB-637482FE982J2

isnumeric (任意表达式)

判断表达式是否为数值类型或者是否可以转换成数值。

是:返回1,不是:返回0

例如:select isnumeric(1111) 返回 1

select isnumeric('123rr') 返回 0

select isnumeric('123') 返回 1

isnull (任意表达式1,任意表达式2)

如果任意表达式1不为NULL,则返回它的值;否则,在将任意表达式2的类型转换为任意表达式1的类型(如果这两个类型不同)后,返回任意表达式2的值。

例如:select isnull(null,N'没有值') 返回 没有值

select isnull(N'具体的值',N'没有值') 返回 具体的值

isdate (任意表达式)

确定输入表达式是否为有效日期或可转成有效的日期;

是:返回1,不是:返回0

例如:select isdate(getdate()) 返回1

select isdate('2013-01-02') 返回1

select isdate('198') 返回0


七、排名函数

row_number 无参数

为结果集内每一行进行编号,从1开始后面行依次加1,常用于产生序号;

例如:select row_number() over(order by userid desc) as [NO],username,password from T_USER


八、聚合函数

count()

返回组中的总条数,count(*)返回组中所有条数,包括NULL值和重复值项,如果抒写表达式,则忽略空值,表达式为任意表达式。

max()

返回组中的最大值,空值将被忽略,表达式为数值表达式,字符串表达式,日期。

min()

返回组中的最小值,空值将被忽略,表达式为数值表达式,字符串表达式,日期。

sum()

返回组中所有值的和,空值将被忽略,表达式为数据表达式。

avg()

返回组中所有值的平均值,空值将被忽略,表达式为数据表达式。


表达式 字符 数据 类型 字符串 函数 日期 长度 空格 数值 数据库 用户 有效 位数 样式 结果 最大 最小 为数 位置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 互联网科技公司简介 广东猪兼强互联网科技有限公司 腾讯阿里互联网科技 关于新基建和互联网科技 中资互联网科技 互联网 视角下的科技创新 海南购全球互联网科技 山东吉时兔互联网科技有限公司 济南和联互联网科技有限公司 博兴的互联网电子科技公司 江苏苏星互联网科技有限公司 从那以后互联网科技有限公司 昆明中奇联合互联网科技 吉林省码上互联网科技电话 互联网科技平台产品运营 版纳互联网科技选哪家 互联网科技职业技能培训学校 杭州融税互联网科技有限公司 青岛互联网科技园 恒生科技互联网指数分析 汉立互联网科技有限公司联系电话 老年人脱离互联网科技的作文 栖莱科技互联网股份有限公司 互联网对科技的发展 武汉健翔互联网络科技有限公司 赶超互联网科技 微信多开 苏州铭阳互联网科技有限公司 广州市恰铎互联网科技有限公司 银川新华互联网科技学校联系电话
0