SQL Server使用标量函数(一)

2014-11-24 16:06:01 · 作者: · 浏览: 0
SQL Server使用标量函数
通过对象资源管理器是了解所有SQL SERVER函数的最佳方法,
常见的标量函数(只对单个值操作返回单个值的函数)
一、用户信息函数
user_name():返回当前用户的 数据库用户名
suser_sname():返回用户向SQLSERVER验证时使用的登录名
host_name():用户工作站的名称
APP_name():返回当前连接到SQL SERVER的应用程序名
二、日期-时间函数
两个返回当前日期和时间的函数
getdate():返回服务器的当前日期和时间,精确到3ms
getUTCdate():返回服务器的当前日期和时间对应的格林威治时间
下面4个Sql Server日期-时间函数抽取和处理存储在datetime列中的日期和时间
的特定部分。
1、DateName(DatePortion,date)
返回date中DatePortion指定的日期部分的值
如:print DateName(yy,getdate())
返回年份。
2、DatePart(Dateportion,date)
返回date中DatePortion指定的日期部分的值
如:print DatePart(dd,getdate())
返回日(月中的第几日)。
3、DateAdd(Dateportion,amount,Beginning Date)
对Beginning Date中指定的日期部分进行加Amount运算。
并返回进行运算后的整个日期值
通过amount=负数,可实现减运算
4、DateDiff(Dateportion,amount,Beginning Date)
对Beginning Date中指定的日期部分进行减Amount运算。
注:DateDiff 函数并不像DateAdd函数会返回运算后的整个日期值。而只
返回从中抽取的日期部分。
注:SQL SERVER 没有提供只存储日期的数据类型,但很多应用程序只使用日期,为了
避免查询混乱,可使用一个触发器删除时间数据并只存储日期。
三、字符串函数
1、SubString()
用于返回字符串的一部分
substring(string,start Position,length)
从string中的第start Position位置开始抽取length长度的字符串。返回。
其中字符位置从1开始计算。
如:print SubString('05 29 2012 10:31AM',1,5)
结果:05 29
2、Stuff( )
将一个字符串中的某些内容用另一些字符串来替代。
Stuff(String,Start Postion,count,replace String)
参数1:被操作的字符串
参数2:指定的起始位置
参数3:替代长度
参数4:用来替代的字符串
注:替代长度和用来替代的字符串长度不一定是相等,
原理是:删除指定长度的字符串,将新的字符串复制到那个位置。
如:print Stuff('05 29 2012 10:31AM',1,2,'1234')
结果:1234 29 2012 10:31AM
3、charindex( )
charindex(Search String,String,Starting Position)
返回一个字符串1在另一个字符串2中的第几次出现的起始位置
参数1:字符串1
参数2:字符串2
参数3:指定字符串1 在字符串2 中第几次出现。
如:print charindex('05','05 29 2005 10:31AM',2)
结果:9
4、patindex( )
patindex(%pattern%,string )
查找指定模式(可包含通配符)在字符串中首次出现的位置。
如:print patindex('%[6-9]%','05 29 2005 10:31AM')
结果:5
5、Right(String,count)、Left(String,count)
返回字符串最右边的几个字符。
返回字符串最左边的几个字符。
如:print right('05 29 2005 10:31AM',2)
print left('05 29 2005 10:31AM',4)
结果:
AM
05 2
6、Len( )
Len(String)
返回字符串的长度
7、Rtrim( )、Ltrim()
Rtrim( String )删除所有字符串的前空格,
Ltrim( String )删除所有字符串的后空格,
8、Upper( )、Lower( )
Upper( String )将所有字符串中的字符大写
Lower( String )将所有字符串中的字符小写
9、Replace( Source,Search,Replace )
利用Replace字符串替换Source中的所有Serach字符串。
如:print Replace('05 29 2005 10:31AM','0','ab')
结果:ab5 29 2abab5 1ab:31AM
注:SQL Server字符串能够接受两个引号,并将其转换为单个引号。
四、Soundex函数
一种为了美国人中普查而创建的语言模式匹配 系统,根据英语发音。
1、Soundex()
Soundex(‘英文字字符串’)
2、Difference(String1,STring2)
返回两个字符串的Soundex编码的差异程序。
五、数据类型转换函数
1、Cast
Cast(input as datatype)
将input转换为数据类型datatype
如:print Cast('124' as int )
2、Convert
Convert(DateType,expression[,Style])
普通转换不需要Style
一般如果将文本转换为DateTime数据类型时,需要将文本输入应用指定的格式
转换函数的日期