SQLServer字符串处置函数大全_第1页
SQLServer字符串处置函数大全_第2页
SQLServer字符串处置函数大全_第3页
SQLServer字符串处置函数大全_第4页
SQLServer字符串处置函数大全_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、select语句中只能利用sql函数对字段进行操作(链接sqlserver),select字段1from表1where字段1.IndexOf("云")=1;这条语句不对的缘故是indexof()函数不是sql函数,改成sql对应的函数就能够够了。left()是sql函数。select字段1from表1wherecharindex('云',字段1)=1;字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHARVARCHARBINARY和VARBINAR微据类型和能够隐式转换为CHA越VARCHAR数据类型。能够在SELEC播句的SELECT

2、和WHEREF句和表达式中利用字符串函数。经常使用的字符串函数有:一、字符转换函数1、 ASCII()返回字符表达式最左端字符的ASCII码值。在ASCII()函数中,纯数字的字符串可不用括起来,但含其它字符的字符串必需用括起来利用,不然会犯错。2、 CHAR()将ASCII码转换为字符。若是没有输入0255之间的ASCII码值,CHA()R返回NULL。3、 LOWERSUPPER()LOWER够字符串全数转为小写;UPPER(X字符串全数转为大写。4、STR()把数值型数据转换为字符型数据。STR(<float_expression>,length,<decimal>

3、;)length指定返回的字符串的长度,decimal指定返回的小数位数。若是没有指定长度,缺省的length值为10,decimal缺省值为0。当length或decimal为负值时,返回NULL;当length小于小数点左侧(包括符号位)的位数时,返回length个;先服从length,再取decimal;当返回的字符串位数小于length,左侧补足空格。二、去空格函数1、 LTRIM()把字符串头部的空格去掉。2、 RTRIM()把字符串尾部的空格去掉。三、取子串函数1、 left()LEFT(<character_expression>,<integer_expres

4、sion>)返回character_expression左起integer_expression个字符。2、 RIGHT()RIGHT(<character_expression>,<integer_expression>)返回character_expression右起integer_expression个字符。3、 SUBSTRING()length)SUBSTRING(<expression>,<starting_position>返回从字符串左侧第starting_position个字符起length个字符的部份。四、字符串比较函数

5、1、 CHARINDEX()返回字符串中某个指定的子串显现的开始位置。CHARINDEX(<substring_expression>,<expression>)其中substring_expression是所要查找的字符表达式,expression可为字符串也可为列名表达式。若是没有发觉子串,那么返回0值。此函数不能用于TEXT和IMAGE数据类型。2、 PATINDEX()返回字符串中某个指定的子串显现的开始位置。PATINDEX(<%substring_expression%>,<column_name>)其中子串表达式前后必需有百分号“%

6、”不然返回值为0。与CHARINDEXI数不同的是,PATINDEXI数的子串中能够利用通配符,且止匕函数可用于CHARVARCHA序口TEXT数据类型。五、字符串操作函数1、 QUOTENAME()返回被特定字符括起来的字符串。QUOTENAME(<character_expression>,quote_character)其中quote_character标明括字符串所用的字符,缺省值为“”。2、 REPLICATE()若是REPLICATE(character_expressioninteger_expression)integer_expression值为负值,那么返回NU

7、LL。3、 REVERSE()将指定的字符串的字符排列顺序倒置。REVERSE(<character_expression>)其中character_expression能够是字符串、常数或一个列的值。4、 REPLACE()返回被替换了指定子串的字符串。REPLACE(<string_expression1>,<string_expression2>,<string_expression3>)用string_expression3替换在string_expression1中的子串string_expression2。5、 SPACE()返回一个

8、有指定长度的空白字符串。SPACE(<integer_expression>)若是integer_expression值为负值,那么返回NULL。6、 STUFF()用另一子串替换字符串指定位置、长度的子串。STUFF(<character_expression1>,<start_position>,<length>,<character_expression2>)若是起始位置为负或长度值为负,或起始位置大于character_expression1的长度,那么返回NULL值若是length长度大于character_expressi

9、on1中start_position以右的长度,那么character_expression1只保留首字符。六、数据类型转换函数1、 CAST()CAST(<expression>AS<data_type>length)2、 CONVERT()CONVERT(<data_type>length,<expression>,style)1) data_type为SQLServer系统概念的数据类型,用户自概念的数据类型不能在此利用。2) length用于指定数据的长度,缺省值为30。3)把CHA威VARCHAR型转换为诸如INT或SAMLLINT;口

10、止匕的INTEGER类型、结果必需是带正号或负号的数值。4) TEX篌型至(JCHARgVARCHAR型转换最多为8000个字符,即CHAR或VARCHAR据类型是最大长度。5) IMAG%型存储的数据转换到BINARYVARBINAR类型,最多为8000个字符。6)把整数值转换为MONEYcSMALLMONM,按概念的国家的货币单位来处置,如人民币、美元、英镑等。7)BIT类型的转换把非零值转换为1,并仍以BIT类型存储。8)试图转换到不同长度的数据类型,会截短转换值并在转换值后显示“+”,以标识发生了这种截断。9)用CONVERT函数的style选项能以不同的格式显示日期和时亥黑style

11、是将DATATIM百口SMALLDATETIME据转换为字符串时所选用的由SQLServer系统提供的转换样式编号,不同的样式编号有不同的输出格式。七、日期函数1、 day(date_expression)返回date_expression中的日期值2、 month(date_expression)返回date_expression中的月份值3、 year(date_expression)返回date_expression中的年份值4、 DATEADD()DATEADD(<datepart>,<number>,<date>)返回指定日期date加上指定的额外

12、日期距离number产生的新日期。5、 DATEDIFF()DATEDIFF(<datepart>,<date1>,<date2>)返回两个指定日期在datepart方面的不同的地方,即date2超过date1的差距值,其结果值是一个带有正负号的整数值。6、 DATENAME()DATENAME(<datepart>,<date>)datepart 来指定。以字符串的形式返回日期的指定部份此部份。由7、DATEPART()DATEPART(<datepart>,<date>)以整数值的形式返回日期的指定部份。此

13、部份由datepart来指定。DATEPART (dd date)等同于DAY (date)DATEPART (m m date)等同于 MONTH (date)DATEPART (yy date)等同于 YEAR (date)8、GETDATE()以DATETIME勺缺省格式返回系统当前的日期和时刻。-聚合函数usepubsgoselectavg(distinctprice)一算平均数fromtitleswheretype='business'gousepubsgoselectmaXytd_sales)-最大数fromtitlesgousepubsgoselectmin(yt

14、d_sales)-最小数fromtitlesgousepubsgoselecttype,sum(price),sum(advance)-求和fromtitlesgroupbytypeorderbytypegousepubsgoselectcount(distinctcity)-求个数fromauthorsgousepubsgoselectstdev(royalty)-返回给定表达式中所有值的统计标准误差fromtitlesgousepubsgoselectstdevp(royalty)-返回表达式中所有制的填充统计标准误差fromtitlesgousepubsgoselectvar(royal

15、ty)-返回所有值的统计方差fromtitlesgousepubsgoselectvarp(royalty)-返回所有值的填充的统计方差fromtitlesgo-数学函数selectsin(),atan(),rand(),PI(),sign(-)-其中rand是取得一个随机数- -配置函数SELECTVERSIONK取当前数据库版本selectlanguagE前语言- -时刻函数selectgetdate()as'wawa_getdate'-当前时刻selectgetutcdate()as'wawa_getutcdate'-获取utc时亥llselectday(

16、getdate()as'wawa_day'-掏出天selectmonth(getdate()as'wawa_month'-掏出月selectyear(getdate()as'wawa_year'-掏出年selectdateadd(d,3,getdate()aswawa_dateadd-力口三天,注意'd'表示天,'m'表示月,'yy'表示年,下面一样selectdatediff(d,'2004-07-01','2004-07-15')aswawa_datediff-计

17、算两个时刻的差selectdatename(d,'2004-07-15')aswawa_datename-掏出时亥ll的某一部份selectdatepart(d,getdate()aswawa_datepart-掏出时亥ll的某一部份,和上面的那个差不多- -字符串函数selectascii(123)as'123',ascii('123')as'"123"',ascii('abc')as'"abc"'-转换成ascii码selectchar(123),char

18、(321),char(-123)-依照ascii转换成字符selectlower('ABC'),lower('Abc'),upper('Abc'),upper('abc')-转换大小写selectstr(,6,1),str(,2,2)-把数值转换成字符串selectltrim('"左侧没有空格"')-去空格selectrtrim('"右边没有空格"')-去空格selectltrim(rtrim('"左右都没有空格"')-去空

19、格selectleft('sqlserver',3),right('sqlserver',6)-取左或取右usepubsselectau_lname,substring(au_fname,1,1)-取子串fromauthorsorderbyau_lnameselectcharindex('123','abc123def,2)-返回字符串中指定表达式的起始位置selectpatindex('123','abc123def'),patindex('%123%','abc123def)-返

20、回表达式中某模式第一次显现的起始位置selectquotename('abc',''),quotename('abc')-返回由指定字符扩住的字符串selectreverse('abc'),reverse('上海')-倒置字符串顺序selectreplace('abcdefghicde','cde','xxxx')-返回呗替换了指定子串的字符串selectspace(5),space(-2)- -系统函数selecthost_name()as'host_nam

21、e',host_id()as'host_id',user_name()as'user_name',user_id()as'user_id',db_name)as'db_name'- -变量的概念利用- -声明局部变量declaremycounterintdeclarelast_namevarchar(30),fnamevarchar(20),statevarchar(2)-一下声明多个变量- -给变量赋值usenorthwindgodeclarefirstnamevariablevarchar(20),regionvari

22、ablevarchar(30)setfirstnamevariable='anne'-能够用set,也能够用select给变量赋值,微软推荐用set,但select在选择一个值直接赋值时很有效setregionvariable='wa'selectlastname,firstname,title-用声明并赋值过的变量构建一个Select语句并查询fromemployeeswherefirstname=firstnamevariableorregion=regionvariablego-全局变量selectversion-返回数据库版本selecterror-返回

23、最后的一次脚本错误selectidentity-返回最后的一个自动增加列的id-while,break,continue的禾1用- -第一计算所有数的平均价钱,若是低于30的话进入循环让所有的price翻倍,- -里面又有个if来判定若是最大的单价还大于50的话,退出循环,不然继续循环,明白最大单价大于50就break出循环,呵呵,- -我分析的应该对吧.usepubsgowhile(selectavg(price)fromtitles)<$30beginupdatetitlessetprice=price*2selectmaXprice)fromtitlesif(selectmaXpr

24、ice)fromtitles)>$50breakelsecontinueendprint'toomuchforthemarkertobear'- -事务编程经典例子-begintransaction是开始事务,committransaction是提交事务,rollbacktransaction是回滚事务- -那个例子是先插入一条记录,若是显现错误的话就回滚事务,也确实是取消,并直接return(返回),若是没错的话就commit提交那个事务了哦- 上面的那个return返回能够返回一个整数值,若是那个值是0的话确实是执行的时候没犯错,若是犯错了确实是一个负数,- -那个return也能够用在存储进程中,可用用execreturn_status=pro_name来获取那个值usepubsgobegintranmytraninsertintostores(stor_id,stor_name)values('333','mybooks'

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论