一、字符转换函数
1、ascii()
返回字符表达式最左端字符的ascii 码值。在ascii()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。
2、char()
将ascii 码转换为字符。如果没有输入0 ~ 255 之间的ascii 码值,char() 返回null 。

3、lower()和upper()
lower()将字符串全部转为小写;upper()将字符串全部转为大写。
4、str()
把数值型数据转换为字符型数据。
str (<float_expression_r>[,length[, <decimal>]])
length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。
当length 或者decimal 为负值时,返回null;
当length 小于小数点左边(包括符号位)的位数时,返回length 个*;
先服从length ,再取decimal ;
当返回的字符串位数小于length ,左边补足空格。

二、去空格函数
1、ltrim() 把字符串头部的空格去掉。

2、rtrim() 把字符串尾部的空格去掉。

三、取子串函数
1、left()
left (<character_expression_r>, <integer_expression_r>)
返回character_expression_r 左起 integer_expression_r 个字符。

2、right()
right (<character_expression_r>, <integer_expression_r>)
返回character_expression_r 右起 integer_expression_r 个字符。

3、substring()
substring (<expression_r>, <starting_ position>, length)
返回从字符串左边第starting_ position 个字符起length个字符的部分。

四、字符串比较函数
1、charindex()
返回字符串中某个指定的子串出现的开始位置。
charindex (<’substring_expression_r’>, <expression_r>)
其中substring _expression_r 是所要查找的字符表达式,expression_r 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。
此函数不能用于text 和image 数据类型。
2、patindex()
返回字符串中某个指定的子串出现的开始位置。
patindex (<’%substring _expression_r%’>, <column_ name>)其中子串表达式前后必须有百分号“%”否则返回值为0。
与charindex 函数不同的是,patindex函数的子串中可以使用通配符,且此函数可用于char、 varchar 和text 数据类型。

五、字符串操作函数
1、quotename()
返回被特定字符括起来的字符串。
quotename (<’character_expression_r’>[, quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。
2、replicate()
返回一个重复character_expression_r 指定次数的字符串。
replicate (character_expression_r integer_expression_r) 如果integer_expression_r 值为负值,则返回null 。

3、reverse()
将指定的字符串的字符排列顺序颠倒。
reverse (<character_expression_r>) 其中character_expression_r 可以是字符串、常数或一个列的值。

4、replace()
返回被替换了指定子串的字符串。
replace (<string_expression_r1>, <string_expression_r2>, <string_expression_r3>) 用string_expression_r3 替换在string_expression_r1 中的子串string_expression_r2。

4、space()
返回一个有指定长度的空白字符串。
space (<integer_expression_r>) 如果integer_expression_r 值为负值,则返回null 。

5、stuff()
用另一子串替换字符串指定位置、长度的子串。
stuff (<character_expression_r1>, <start_ position>, <length>,<character_expression_r2>)
如果起始位置为负或长度值为负,或者起始位置大于character_expression_r1 的长度,则返回null 值。
如果length 长度大于character_expression_r1 中 start_ position 以右的长度,则character_expression_r1 只保留首字符。

六、数据类型转换函数
1、cast()
cast (<expression_r> as <data_ type>[ length ])

2、convert()
convert (<data_ type>[ length ], <expression_r> [, style])

1)data_type为sql server系统定义的数据类型,用户自定义的数据类型不能在此使用。
2)length用于指定数据的长度,缺省值为30。
3)把char或varchar类型转换为诸如int或samllint这样的integer类型、结果必须是带正号或负号的数值。
4)text类型到char或varchar类型转换最多为8000个字符,即char或varchar数据类型是最大长度。
5)image类型存储的数据转换到binary或varbinary类型,最多为8000个字符。
6)把整数值转换为money或smallmoney类型,按定义的国家的货币单位来处理,如人民币、美元、英镑等。
7)bit类型的转换把非零值转换为1,并仍以bit类型存储。
8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。
9)用convert() 函数的style 选项能以不同的格式显示日期和时间。style 是将datatime 和smalldatetime 数据转换为字符串时所选用的由sql server 系统提供的转换样式编号,不同的样式编号有不同的输出格式。

 

七、日期函数
1、day(date_expression_r)
返回date_expression_r中的日期值

2、month(date_expression_r)
返回date_expression_r中的月份值

3、year(date_expression_r)
返回date_expression_r中的年份值

4、dateadd()
dateadd (<datepart>, <number>, <date>)
返回指定日期date 加上指定的额外日期间隔number 产生的新日期。参数“datepart” 取值如下:
5、datediff()
datediff (<datepart>, <date1>, <date2>)
返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。

6、datename()
datename (<datepart>, <date>)
以字符串的形式返回日期的指定部分此部分。由datepart 来指定。

7、datepart()
datepart (<datepart>, <date>)
以整数值的形式返回日期的指定部分。此部分由datepart 来指定。
datepart (dd, date) 等同于day (date)
datepart (mm, date) 等同于month (date)
datepart (yy, date) 等同于year (date)

8、getdate()
以datetime 的缺省格式返回系统当前的日期和时间

abs(number) 取得数值的绝对值。
atn(number) 取得一个角度的反正切值。
callbyname (object, procname, usecalltype,[args()]) 执行一个对象的方法、设定或传回对象的属性。
cbool(expression_r) 转换表达式为boolean 型态。
cbyte(expression_r) 转换表达式为byte 型态。
cchar(expression_r) 转换表达式为字符型态。
cdate(expression_r) 转换表达式为date 型态。
cdbl(expression_r) 转换表达式为double 型态。
cdec(expression_r) 转换表达式为decimal 型态。
cint(expression_r) 转换表达式为integer 型态。
clng(expression_r) 转换表达式为long 型态。
cobj(expression_r) 转换表达式为object 型态。
cshort(expression_r) 转换表达式为short 型态。
csng(expression_r) 转换表达式为single 型态。
cstr(expression_r) 转换表达式为string 型态。
choose (index, choice-1[, choice-2, ... [, choice-n]]) 以索引值来选择并传回所设定的参数。
chr(charcode) 以ascii 码来取得字符内容。
close(filenumberlist) 结束使用open 开启的档案。
cos(number) 取得一个角度的余弦值。
ctype(expression_r, typename) 转换表达式的型态。
dateadd(dateinterval, number, datetime) 对日期或时间作加减。
datediff(dateinterval, date1, date2) 计算两个日期或时间间的差值。
datepart (dateinterval, date) 依接收的日期或时间参数传回年、月、日或时间。
dateserial(year, month, day) 将接收的参数合并为一个只有日期的date 型态的数据。
datevalue(datetime) 取得符合国别设定样式的日期值,并包含时间。
day(datetime) 依接收的日期参数传回日。
eof(filenumber) 当抵达一个被开启的档案结尾时会传回true。
exp(number) 依接收的参数传回e 的次方值。
filedatetime(pathname) 传回档案建立时的日期、时间。
filelen(pathname) 传回档案的长度,单位是byte。
filter(sourcearray, match[, include[, compare]]) 搜寻字符串数组中的指定字符串,凡是数组元素中含有指定字符串,会将它们结合成新的字符串数组并传回。若是要传回不含指定字符串的数组元素,则include 参数设为false。compare 参数则是设定搜寻时是否区分大小写,此时只要给textcompare 常数或1 即可。
fix(number) 去掉参数的小数部分并传回。
format(expression_r[, style[, firstdayofweek[, firstweekofyear]]]) 将日期、时间和数值资料转为每个国家都可以接受的格式。
formatcurrency(expression_r[,numdigitsafterdecimal [,includeleadingdigit]]) 将数值输出为金额型态。
numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。
formatdatetime(date[,namedformat]) 传回格式化的日期或时间数据。
formatnumber(expression_r[,numdigitsafterdecimal [,includeleadingdigit]]) 传回格式化
的数值数据。numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。
formatpercent(expression_r[,numdigitsafterdecimal [,includeleadingdigit]]) 传回转换为百分比格式的数值数据。numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。
getattr(filename) 传回档案或目录的属性值。
hex(number) 将数值参数转换为16 进制值。
hour(time) 传回时间的小时字段,型态是integer。
iif(expression_r, truepart, falsepart) 当表达式的传回值为true 时执行truepart 字段的程序,反之则执行falsepart 字段。
instr([start, ]string1, string2) 搜寻string2 参数设定的字符出现在字符串的第几个字符,start 为由第几个字符开始寻找,string1 为欲搜寻的字符串,string2 为欲搜寻的字符。
int(number) 传回小于或等于接收参数的最大整数值。
isarray(varname) 判断一个变量是否为数组型态,若为数组则传回true,反之则为false。
isdate(expression_r) 判断表达式内容是否为datetime 型态,若是则传回true,反之则为false。
isdbnull(expression_r) 判断表达式内容是否为null,若是则传回true,反之则为false。
isnumeric(expression_r) 判断表达式内容是否为数值型态,若是则传回true,反之则为false。
join(sourcearray[, delimiter]) 将字符串数组合并唯一个字符串,delimiter 参数是设定在各个元素间加入新的字符串。
lcase(string) 将字符串转换为小写字体。
left(string, length) 由字符串左边开始取得length 参数设定长度的字符。
len(string) 取得字符串的长度。
log(number) 取得数值的自然对数。
ltrim(string) 去掉字符串的左边空白部分。
mid(string, start[, length]) 取出字符串中strat 参数设定的字符后length 长度的字符串,若length 参数没有设定,则取回start 以后全部的字符。
minute(time) 取得时间内容的分部分,型态为integer。
mkdir(path) 建立一个新的目录。
month(date) 取得日期的月部分,型态为integer。
monthname(month) 依接收的月份数值取得该月份的完整写法。
now() 取得目前的日期和时间。
oct(number) 将数值参数转换为8 进制值。
replace(expression_r, find, replace) 将字符串中find 参数指定的字符串转换为replace 参数指定的字符串。
right(string,length) 由字符串右边开始取得length 参数设定长度的字符。
rmdir(path) 移除一个空的目录。
rnd() 取得介于0 到1 之间的小数,如果每次都要取得不同的值,使用前需加上randomize 叙述。
rtrim(string) 去掉字符串的右边空白部分。
second(time) 取得时间内容的秒部分,型态为integer。
sign(number) 取得数值内容是正数或负数,正数传回1,负数传回-1,0 传回0。
sin(number) 取得一个角度的正弦值。
space(number) 取得number 参数设定的空白字符串。
split(expression_r[, delimiter]) 以delimiter 参数设定的条件字符串来将字符串分割为字符串数组。
sqrt(number) 取得一数值得平方根。
str(number) 将数字转为字符串后传回。
strreverse(expression_r) 取得字符串内容反转后的结果。
tan(number) 取得某个角度的正切值。
timeofday() 取得目前不包含日期的时间。
timer() 取得由0:00 到目前时间的秒数,型态为double。
timeserial(hour, minute, second) 将接收的参数合并为一个只有时间date 型态的数据。
timavalue(time) 取得符合国别设定样式的时间值。
today() 取得今天不包含时间的日期。
trim(string) 去掉字符串开头和结尾的空白。
typename(varname) 取得变量或对象的型态。
ubound(arrayname[, dimension]) 取得数组的最终索引值,dimension 参数是指定取得第几维度的最终索引值。
ucase(string) 将字符串转换为大写。
val(string) 将代表数字的字符串转换为数值型态,若字符串中含有非数字的内容则会将其去除后,合并为一数字。
weekday(date) 取的参数中的日期是一个星期的第几天,星期天为1、星期一为2、星期二为3 依此类推。
weekdayname(number) 依接收的参数取得星期的名称,可接收的参数为1 到7,星期天为1、星期一为2、星期二为3 依此类推。