SQL 一些常用的函数整理

一.与编码有关:
1.char() 2.ascII() 3.unicode() 4.Nchar()
    select ascii('A') 结果为:65,ascii()函数的作用是转换为acsii码
    select char(65) 结果为:A,char()函数的作用是转换为字符串
    select unicode('Anv') 结果为:65 按照 Unicode 标准的定义,返回输入表达式的第一个字符的整数值。
    select nchar(65) 结果为:A 根据 Unicode 标准的定义,返回具有指定的整数代码的 Unicode 字符。
二.截取
 1.left,2.right, 3.substring
    1.left('——',n): 在'——'中从左边数取n个
    2.right('——',n): 在‘——’中从右边数取n个
    3.substring('——',m,n):在‘——’中,从第m个开始,取n个
  例:
    select left('abcde',3) 结果为:abc
    select substring ('abcdefg',2,5) 结果为:bcdef
    select substring ('我爱你,中国!',3,3) 结果为:你,中
三.替换
   stuff('——',m,n,'__')把'——'中第m个开始后n个用'__'替换
   replace('__','n','m')把'__'中的'n'用'm'替换
   例:
   select stuff('intkisf',3,4,'100') 结果为:in100f
   select replace('ABCDE','C','b')  结果为:ABbDE
四.大小写
   1.upper('__') 把小写都变成大写
   2.lower('__') 把大写都变成小写
   例:
   select upper('ABcde') 结果为:ABCDE
   select lower('ABcde') 结果为:abcde
五.空格
      1.ltrim()去掉最左面的空格
      2.rtrim()去掉最右面的空格
      3.space(m)增加m个空格
六.查找
      1.charindex('__','***')查找'__'在'***'中第一次出现的位置
      2.charindex('__','***',m)表示从第m个开始找'__'在'***'中第一次出现的位置
      3.patindex('%ade%','abcdefg')
      以下示例使用 COLLATE 函数显式指定要搜索的表达式的排序规则。
      SELECT PATINDEX ( '%ein%', 'Das ist ein Test'  COLLATE Latin1_General_BIN) ;
七.常规
      1.len(''):字符个数
      2.reverse('')把字符串倒转
      3.str() 返回由数字数据转换来的字符数据。
      例:
      select len('AB') 结果:2
      select reverse('ABCDE') 结果:EDCBA
      SELECT STR(123.45, 8,1) 结果:   123.5
八.转换函数
     CONVERT(data_type,expression_r_r[,style])此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
相互转换的时候才用到.
     CAST
     SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
九.日期函数
     1.datetime()返回当前数据库系统时间戳,返回值的类型为 datetime,并且不含数据库时区偏移量。
     2.ATEPART(datepart,date)返回表示指定 date 的指定 datepart 的整数。
     3.DATEADD (datepart , number, date )将指定 number 时间间隔(有符号整数)与指定 date 的指定 datepart 相加后,返回该 date。
     4.DATEDIFF ( datepart , startdate , enddate )返回指定的 startdate 和 enddate 之间所跨的指定 datepart 边界的计数
     5.DATENAME ( datepart , date )返回表示指定 date 的指定 datepart 的字符串
     例:
     select getdate()  结果:2010-04-24 17:53:59.140
     select DATEPART("year",GETDATE()) 结果:2010
     select datediff("dd",getdate(), DATEADD("dd",3,GETDATE())) 结果:3
     select datename(yyyy,getdate()) 结果:2010

 

     

posted @ 2010-09-06 17:01  张宏宇  阅读(176)  评论(0编辑  收藏  举报