列举SQLServer几个基本的函数的应用.docx
- 格式:docx
- 大小:56.07 KB
- 文档页数:5
-聚合函数
use pubs
go
select avg(distinct price) 一算平均数
from titles
where type=*business'
go
use pubs
go
select max(ytd_sales) 一最大数
from titles
go
use pubs
go
select min(ytd_sales)"最小数
from titles
go
use pubs
go
select type,sum(price),sum(adva nee) —求和
from titles
group by type
order by type
go
use pubs
go
select count(distinct city) 一求个数
from authors
go
use pubs
go
select stdev(royalty) ■■返回给定表达式中所有值的统计标准偏差from titles
go
use pubs
go
select stdevp(royalty)-返回表达式中所有制的填充统计标准偏差
from titles go
use pubs
go
select var(royalty)"返回所有值的统计方差
from titles
go
use pubs
go
select varp(royalty)-返回所有值的填充的统计方差
from titles
go
-数学函数
select sin(23.45),atan(1.234),rand(),PI(),sign(-2.34) 一其中rand 是获得一个随机数
-配置函数
SELECT @@VERSION 一获取当前数据库版本
SELECT @@LANGUAGE -当前语言
-时间函数
select getdate() as 'wawa_getdate' 一当前时间
select getutcdate() as !wawa_getutcdate' 一获取utc 时间
select day(getdate()) as 'wawa_day' 一取出天
select month(getdate()) as 'wawa_month' 一取岀月
select year(getdate()) as 'wawa_year' 一取出年
select dateadd(d,3,getdate()) as wawa_dateadd •■力口三天,注意'd‘表示天,'m'表示月,yy表示年,下而一样
select datediff(d,*2004-07-01 *,*2004-07-15') as wawa_datediff 一计算两个时间的差
select datename(d,*2004-07-15!) as wawa_datename "取岀时间的某一部分select datepart(d,getdate()) as wawa_datepart 一取出时间的某一部分,和上面的那个差不多
"字符串函数
select ascii(123) as ,123',ascii('123') as ,H123m,ascii(,abc,) as H,abc M,一转换成ascii 码
select char(123),char(321 ),char(-123) •■根据ascii 转换成字符
select lower('ABC'),lower('Abc'),upper('Abc'),upper('abc') 一转换大小写
select str(123.45,6,1), str(123.45,2,2) 一把数值转换成字符串
select ItrimC ”左边没有空格”')“去空格
select rtrim(H,右边没有空格”’)-去空格
select ltrim(rtrimC ”左右都没有空格” ’))••去空格
select left(!sql server*,3),right('sql server*,6) 一取左或者取右
use pubs
select au_lname,substring(au_fname,1,1) -取子串
from authors
order by aujname
select charindex(*1237abc123def,2) -返回字符串中指定表达式的起始位置select patindex(*123','abc123def,),patindex(,%123%';abc123def) 一返回表达式中某模式第一次出现的起始位置
select quotename(,abc','{,),quotename(,abc')"返回由指定字符扩住的字符吊select reverse(,abc'),reverse('上海')-颠倒字符串顺序
select replace('abcdefghicdeVcde7xxxx')"返回呗替换了指定子串的字符串select space(5),space(-2)
"系统函数
select host_name() as ’host_name;host_id() as 'host_id;userjname() as
'user name',user id() as 'user id',db name() as *db name*
-变量的定义使用
-声明局部变量
declare @mycounter int
declare @last_name varchar(30),@fname varchar(20),@state varchar(2) 一一下声明多个变量
-给变量赋值
use northwind
go
declare @firstnamevariable varchar(20),
@regi on variable varchar(30)
set @firstnamevariable=,anne, -可以用set,也可以用select给变量赋值,微软推荐用set,但select在选择一个值直接赋值时很有用
set @regionvariable
select lastname,firstname,title -用声明并赋值过的变量构建一个Select语句并査询from employees
where firstname= @firstnamevariable or region=@regioinvariable
go
-全局变量