sql server 2008 常见函数

1、ascii(字符串表达式) 
    select ascii('abc') 返回 97  
	--返回字符串中最左侧的字符的ASCII码.
   
2、char(整数表达式)
    select char(100) 返回 d  
	--把ASCII 码转换为字符
   
3、charindex(字符串表达式1, 字符串表达式2[,整数表达式])
	select charindex('ab','BCabTabD') 返回 3
	select charindex('ab','BCabTabD',4) 返回 6
	--在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0.
	--如果字符串1和字符串2中有一个是null则返回 null.可以指定在字符串2中查找的起始位置.
	
4、difference(字符串表达式1,字符串表达式2)
	select difference('Green','Greene') 返回 4
	--返回一个0到4的整数值,指示两个字符表达式的之间的相似程度.
	--0表示几乎不同或完全不同,4表示几乎相同或完全相同.注意相似并不代表相等.
	
5、left(字符串表达式,整数表达式)
	select left('abcdefg',2) 返回 ab
	--返回字符串中从左边开始指定个数的字符.
	
6、right(字符串表达式,整数表达式)
	select right('abcdefg',2) 返回 fg
	--返回字符串中从右边开始指定个数的字符.
	
7、len(字符串表达式)
	select len('abcdefg')返回 7
	select len('abcdefg  ') 返回 7
	select len('  abcdefg') 返回 9
	--返回指定字符串表达式的字符数,其中不包含尾随空格,但是包含前缀空格.

8、lower(字符串表达式)
	select lower('ABCDEF') 返回 abcdef
	--返回大写字符数据转换为小写的字符表达式.
   
9、upper(字符串表达式)
	select upper('abcdef') 返回 ABCDEF
	--返回小写字符数据转换为大写的字符表达式.
	
10、ltrim(字符串表达式)
	select ltrim('   abc') 返回 abc
	--返回删除了前导空格之后的字符表达式.
	
11、rtrim(字符串表达式)
	select rtrim('abc  ') 返回 abc
	--返回删除了尾随空格之后的字符表达式.
	
12、patindex(字符串表达式1,字符串表达式2)
	select patindex('%ab%','123ab456') 返回4
	select patindex('ab%','123ab456')  返回0
	select patindex('___ab%','123ab456') 返回1
	select patindex('___ab_','123ab456') 返回0
	--在字符串表达式1中可以使用通配符,此字符串的第一个字符和最后一个字符通常是%.
	--%表示任意多个字符,_表示任意字符.
	--返回字符串表达式2中字符串表达式1所指定模式第一次出现的起始位置.没有找到返回0.	

13、reverse(字符串表达式)
	select reverse('abcde')  返回 edcba
	--返回指定字符串反转后的新字符串	
	
14、space(整数表达式)
	select 'a'+space(2)+'b' 返回 a b
	--返回由指定数目的空格组成的字符串.	
	
15、str(float 型小数[,总长度[,小数点后保留的位数]])
	select str(123.451) 返回  123(123前面有空格)
	select str(123.451,3) 返回123
	select str(123.451,7,3) 返回123.451
	select str(123.451,7,1) 返回123.5
	select str(123.451,5,3) 返回123.5
	select str(123.651,2) 返回**
	--返回由数字转换成的字符串。返回字符数不到总长度的前面补空格,超过总长度的截断小数位.
	--如果需要截断整数位则返回**.
	--注意在截断时遵循四舍五入.
	--总长度,它包括小数点、符号、数字以及空格。默认值为10.
	--小数点后最多保留16位,默认不保留小数点后面的数字.
	
16、stuff(字符串表达式1,开始位置,长度,字符串表达式2)
	select stuff('abcdef',2,2,'123')返回 a123def
	--在字符串表达式1中指定的开始位置删除指定长度的字符,
	--并在指定的开始位置处插入字符串表达式2返回新字符串
	
17、substring(字符串表达式,开始位置,长度)
	select substring('abcdef',2,2)返回bc
	--返回子字符串	

18、replace(字符串表达式1,字符串表达式2,字符串表达式3)
	Select replace('abcttabchhabc','abc','123') 返回 123tt123hh123
	--用字符串表达式3替换字符串表达式1中出现的所有字符串表达式2的匹配项,返回新的字符串
	
19、isdate(任意表达式)
	select isdate(getdate()) 返回1
	select isdate('1988-1-1')返回1
	select isdate('198') 返回0
	--确定输入表达式是否为有效日期或可转成有效的日期,是返回1,不是返回0.
	
20、isnumeric(任意表达式)
	select isnumeric(1111) 返回1
	select isnumeric('123rr') 返回0
	select isnumeric('123') 返回1
	--判断表达式是否为数值类型或者是否可以转换成数值,是返回1,不是返回0.	
	
21、isnull(任意表达式1,任意表达式2)
	select isnull(NULL,'没有值') 返回没有值
	select isnull('具体的值','没有值') 返回具体的值
	--如果任意表达式1不为NULL,则返回它的值,否则,返回表式2的值.
	
22、select newid()
	--返回 4D3CCD53-4F5E-4B0A-9B4E-FB050ACE3B15
	--返回一个GUID(全局唯一表示符)值

23、decimal(m,n)  
	select CONVERT(decimal(10,3),123.456789)  返回123.457
	select CAST(123.456789 as decimal(50)) 返回123
	--m总共几位,n小数点后面保留几位
	--cast是强制转换
	
24、identity(a,b)
	--ab均为正整数,a表示开始数,b表示增幅.
	--就像identity(1,1)意思就是该列自动增长,由1开始每次增加是1.

猜你喜欢

转载自blog.csdn.net/u013941991/article/details/78102019