goback add

mssql不常用函数集合

3776 点击·0 回帖
灯火互联
楼主


mssql不常用函数集合

[sql]

--执行插入语句返回刚刚生成的自动编号  

insert into TblClass output inserted.tclassId values('xxx','..');  
[sql]
--top  
数字后加percent表示百分比,如果百分比最后计算出来的条数中有小数,则直接进位。  
    www.atcpu.com  
select top 30 percent * from MyStudent order by fage desc  
  
--===================distinct去除重复数据=======  

select distinct * from Test2  
    这样是没有用的  
  
select distinct uname,uage from Test2  
  
--通配符[],  
--请查询出姓名中包含'磊'或'伟'的人的姓名  
select * from MyStudent  
where fname like '%[磊伟]%'  
  
_ 表示任意一个  
%表示任意一个或多个  
  
如果要找 % [ 之类的怎么办  
[%] 用[]括起来  
    www.atcpu.com  
--ISNULL  
  
select * from MyStudent  
  
select  
    fname,  
    fage,  
    --注意:同一列上的数据,数据类型必须一致,如果不一致就会报错。所以要求自己定义查询的时候,注意同一列数据类型一致。  
    --这里的'缺考',只存在与查询出的结果集中,表中的数据没有变化  
    数学成绩=isnull(cast(fmath as varchar(50)),'缺考')  
from MyStudent  

--================字符串函数=================  
select len('哈哈hello') --返回字符的个数  
select datalength('哈哈hello') --返回是字节个数  
  
select lower('AaBb')  
  
select UPPeR('AaBb')  
    www.atcpu.com  
select '==========='+rtrim(ltrim('     aaa       '))+'==============='  
  
--从左边数,截取10个字符  
select left('hello welcome to China.',10)  
  
--从右边数,截取10个字符  
select right('hello welcome to China.',10)  
  
--从索引为2的开始,截取5个字符。  
--注意:1.索引从1开始数。2.含当前索引。  
select substring('abcdefghijklmn',2,5)  
  
select replace('fjdsalfafdjaslkfjdsakjflksafjdsfjdslkfjdsljf','f','★')  
select replace(username,'赵','李')  


作者 xhccom


喜欢0 评分0