1. 集合运算及常用函数
1.1 字符转换函数
1.1.1 ASCII ()
返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
SELECT ASCII('iTalkbb')
----------
105
1.1.2 CHAR ()
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。
SELECT char(105)
----------
i
1.1.3 LOWER ()
LOWER()将字符串全部转为小写;
SELECT lower('iTalkbb'),upper('iTalkbb')
---------- ----------
italkbb ITALKBB
1.1.4 UPPER ()
UPPER()将字符串全部转为大写。
SELECT lower('iTalkbb'),upper('iTalkbb')
---------- ----------
italkbb ITALKBB
1.1.5 STR ()
把数值型数据转换为字符型数据。
STR (<float_expression>[,length[, <decimal>]])
length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回NULL;
当length 小于小数点左边(包括符号位)的位数时,返回length 个*;
先服从length ,再取decimal ;
当返回的字符串位数小于length ,左边补足空格。
SELECT STR(123.45, 6, 1);
----------
123.5
1.2 去空格函数
1.2.1 LTRIM ()
把字符串头部的空格去掉。
SELECT ltrim(' iTalkBB')
----------
iTalkBB
1.2.2 RTRIM ()
把字符串尾部的空格去掉。
SELECT rtrim('iTalkBB ')
----------
iTalkBB
1.3 取子串函数
1.3.1 LEFT ()
LEFT (<character_expression>, <integer_expression>)
返回character_expression 左起 integer_expression 个字符。
SELECT left('iTalkbb',2)
----------
iT
1.3.2 RIGHT ()
RIGHT (<character_expression>, <integer_expression>)
返回character_expression 右起 integer_expression 个字符。
SELECT RIGHT('iTalkbb',2)
----------
bb
1.3.3 SUBSTRING ()
SUBSTRING (<expression>, <starting_ position>, length)
返回从字符串左边第starting_ position 个字符起length个字符的部分。
SELECT SUBSTRING('iTalkbb',2,4)
----------
Talk
1.4 字符串比较函数
1.4.1 CHARINDEX ()
返回字符串中某个指定的子串出现的开始位置。
CHARINDEX (<’substring_expression’>, <expression>)
其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。
此函数不能用于TEXT 和IMAGE 数据类型。
SELECT CHARINDEX('a','italkbb')
----------
3
SELECT CHARINDEX('Hooyes’,’ ItalkBB')
----------
0
1.4.2 PATINDEX ()
返回字符串中某个指定的子串出现的开始位置。
PATINDEX (<’%substring _expression%’>, <column_ name>)其中子串表达式前后必须有百分号“%”否则返回值为0。
与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。
SELECT PATINDEX('AB%','1ABCD')
----------
0
SELECT PATINDEX('%AB','1ABCD'