SQL2000函数总结

精贴 置顶
3364 0

    我想我应该能在写些技术相关的知道...或是自己项目当中碰到过的问题...其实自从做这一行起...开始做公司的项目开始就碰到过很多的困难...好吧...以后尽量能把自己碰到过的问题能和大家一起分享...也能和大家一起探讨..

    首先,我也不知道怎么整理一些技术的问题...既然我想到是SQL文,,所以我也应该找找资料,或是稍加整理下与大家分享...不管是哪个项目,与数据库连接是必不可少的...但直接写一个庞大的SQL文也占有了开发过程中的大部分时间..还正我做个新的功能模块开始,我首先需要完成的就是写SQL文...写个好的SQL文也是比较难的...其中用到的函数肯定是要的...比如说什么时间日期的处理啊...数字单位的千位分割啊...UNION表的运用的啊..什么的经常用到的...还有最常用的就是CASE...WHEN...THEN...的用法.这用法也功能也相当强大..可以连一个SELECT语句,也可以是变量,常量,等等..好了..我现在就把函数的总结给贴出来..不过也是人家整理出来的...这里方便一下大家...整理的人看到了,别生气...借用下你的成果,等我有自己整理的东西也可以和大家分享分享...

 

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


3、lower()和upper()
lower()将字符串全部转为小写;upper()将字符串全部转为大写。
4、str()
把数值型数据转换为字符型数据。
str (<float_expression_r_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_r>, <integer_expression_r_r>)
返回character_expression_r_r 左起 integer_expression_r_r 个字符。

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

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

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

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

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

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

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

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


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

2、convert()
convert (<data_ type>[ length ], <expression_r_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_r)
返回date_expression_r_r中的日期值

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

3、year(date_expression_r_r)
返回date_expression_r_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_r) 转换表达式为boolean 型态。
cbyte(expression_r_r) 转换表达式为byte 型态。
cchar(expression_r_r) 转换表达式为字符型态。
cdate(expression_r_r) 转换表达式为date 型态。
cdbl(expression_r_r) 转换表达式为double 型态。
cdec(expression_r_r) 转换表达式为decimal 型态。
cint(expression_r_r) 转换表达式为integer 型态。
clng(expression_r_r) 转换表达式为long 型态。
cobj(expression_r_r) 转换表达式为object 型态。
cshort(expression_r_r) 转换表达式为short 型态。
csng(expression_r_r) 转换表达式为single 型态。
cstr(expression_r_r) 转换表达式为string 型态。
choose (index, choice-1[, choice-2, ... [, choice-n]]) 以索引值来选择并传回所设定的参数。
chr(charcode) 以ascii 码来取得字符内容。
close(filenumberlist) 结束使用open 开启的档案。
cos(number) 取得一个角度的余弦值。
ctype(expression_r_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_r[, style[, firstdayofweek[, firstweekofyear]]]) 将日期、时间和数值资料转为每个国家都可以接受的格式。
formatcurrency(expression_r_r[,numdigitsafterdecimal [,includeleadingdigit]]) 将数值输出为金额型态。
numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。
formatdatetime(date[,namedformat]) 传回格式化的日期或时间数据。
formatnumber(expression_r_r[,numdigitsafterdecimal [,includeleadingdigit]]) 传回格式化
的数值数据。numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。
formatpercent(expression_r_r[,numdigitsafterdecimal [,includeleadingdigit]]) 传回转换为百分比格式的数值数据。numdigitsafterdecimal 参数为小数字数,includeleadingdigit 参数为当整数为0 时是否补至整数字数。
getattr(filename) 传回档案或目录的属性值。
hex(number) 将数值参数转换为16 进制值。
hour(time) 传回时间的小时字段,型态是integer。
iif(expression_r_r, truepart, falsepart) 当表达式的传回值为true 时执行truepart 字段的程序,反之则执行falsepart 字段。
instr([start, ]string1, string2) 搜寻string2 参数设定的字符出现在字符串的第几个字符,start 为由第几个字符开始寻找,string1 为欲搜寻的字符串,string2 为欲搜寻的字符。
int(number) 传回小于或等于接收参数的最大整数值。
isarray(varname) 判断一个变量是否为数组型态,若为数组则传回true,反之则为false。
isdate(expression_r_r) 判断表达式内容是否为datetime 型态,若是则传回true,反之则为false。
isdbnull(expression_r_r) 判断表达式内容是否为null,若是则传回true,反之则为false。
isnumeric(expression_r_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_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_r[, delimiter]) 以delimiter 参数设定的条件字符串来将字符串分割为字符串数组。
sqrt(number) 取得一数值得平方根。
str(number) 将数字转为字符串后传回。
strreverse(expression_r_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 依此类推。

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
用ASP实现网页BBS 2010-11-01
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
JS时间下拉菜单 2010-09-13
浅谈虚拟主机对网站排名的影响及... 2013-06-23
利用JSP的思想来做ASP 2010-10-25
Java网络编程TCP与UDP内容 2013-06-26
操作系统常见问题:操作系统启动... 2010-09-07
整型数据 2010-10-16
关键词密度多少比较好? 2010-09-19
.net获取网页来路的代码 2013-07-17
递归计算子节点的个数 2010-10-12
介绍Java对象序列化使用基础 2013-06-26
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都