SQL Server 几个常用函数的使用
sqlserver中cast,convert,datepart,left,right这三个函数的使用讲解
这几个函数其实网上资料很多,但是为了方便自己的记忆,我还是决定还是写一下,都说好记性不如烂笔头,所以还是多写一下。
cast()函数作用主要是:把一种类型转化成另外一种类型如把字符串类型转换成时间类型:SELECT CAST( '2011-10-2' AS datetime),再或者把数值型转换成字符串类型:SELECTCAST(1ASBIGINT)
convert()函数主要是可以用不同的格式显示日期/时间数据:CONVERT(data_type(length),data_to_be_converted,style)
data_type(length)规定目标数据类型(带有可选的长度),
data_to_be_converted含有需要转换的值,
style 规定日期/时间的输出格式(具体参照:http://www.w3school.com.cn/sql/func_convert.asp)
如:CONVERT(VARCHAR(19),GETDATE()) 结果:Dec 29 2008 11:45 PM
CONVERT(VARCHAR(10),GETDATE(),110) 结果:12-29-2008
datepart()函数主要用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等:DATEPART(datepart,date)
date 参数是合法的日期表达式。datepart需要取出的部分(具体参见:http://www.w3school.com.cn/sql/func_datepart.asp)
如:select datepart(YYYY,'2011-10-1') 取出的部分就是:2011
left是返回从字符串左边开始的指定个数的字符。right是返回从字符串右边开始的指定个数的字符。
例:select left('name',2); 结果:na
select right('name',2) 结果:me
如果使用左右取值发现返回的是0,有可能是因为值定义的长度过长,取值的时候用空格帮其补齐了,导致转换成int出现0,
这时候需要去除空格再取值;
例如:RIGHT(rtrim(@max),3) rtrim这个可以帮忙从右开始去除空格。