`
473687880
  • 浏览: 485883 次
文章分类
社区版块
存档分类
最新评论

常用SQL字符串函数

 
阅读更多

问: 请教一个 SQL Server 2000 问题:
select*fromitemcode wherecodelike’40%’
如何让code=40101001
变成code=401-01-001
目前有666个CODE 是类似40101001
用什么语句能把它变成401-01-001

答:
updateitemcodesetcode=replace(code,left(code,8),left(code,3)+’-’+substring(code,4,2)+’-’+substring(code,6,3))wherecodelike’40%’

问:
replace(code,left(code,8),left(code,3)+’-’+substring(code,4,2)+’-’+substring(code,6,3)) 是什么意思?

答:
拿code=123456789做例子
a=left(code,8)=12345678
b=left(code,3)=123
c=substring(code,4,2)=45
d=substring(code,6,3)=678
e=b+’-’+c+’-’+e=123-45-678
f=replace(code,a,e)=123-45-6789
配合下边的来看,应该能明白了
1、left(code,8)取前8位
2、 substring(code,4,2)从第4位开始取2位
3、+是字符串连接符
4、 replace(a,str1,str2)将a中的str1替换为str2

几问几答下来,我就想着要整理一份完整的SQL字符串函数 出来,借以学习和方便以后查询。


SQL字符串函数

字符串函数对二进制数 据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、BINARY、和VARBINARY数据类型以及可以隐式转换为 CHAR或VARCHAR的数据类型。可以在SELECT语句的SELECT和WHERE子句以及表达式中使用字符串函数。常用的字符串函数有:

一、字符转换函数
1、ASCII()
返回字符表达式 最左端字符的ASCII码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。

2、CHAR()
将ASCII码转换为字符。如果没有输入 0~255之间的ASCII码值,CHAR()返回NULL。

3、LOWER()和UPPER()
LOWER()将字符串全部转为小 写;UPPER()将字符串全部转为大写。


4、STR()
把数值型数据转换为字符型数据。
STR(<float_expression> [,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>,<integer_expression>)
返回character_expression左起integer_expression个字符。

2、RIGHT()
RIGHT(<character_expression>,<integer_expression>)
返回character_expression右起integer_expression个字符。

3、SUBSTRING()
SUBSTRING(<expression>,<starting_position>,length)
返回从字符串左边第starting_position个字符起length个字符的部分。

四、字符串 比较函数
1、CHARINDEX()
返回字符串中某 个指定的子串出现的开始位置。
CHARINDEX(<’substring_expression’>,<expression>)
其中substring_expression是所要查找的字符表达式,expression可为字符串也可为列名表达式。如果没有发现 子串,则返回0值。
此函数不能用于TEXT和IMAGE数据类型。

2、PATINDEX()
返回字符串中某个指定的子串出现的开始位置。
PATINDEX(<’%substring_expression%’>,<column_name>) 其中子串表达式前后必须有百分号“%”否则返回值为0。
与CHARINDEX函数不同的是,PATINDEX函数的子串中可以使用通配符,且 此函数可用于CHAR、VARCHAR和TEXT数据类型。

五、字符串操作函数
1、QUOTENAME()
返回被特定字符括起来的字符串。
QUOTENAME(<’character_expression’> [,quote_character])其中quote_character标明括字符串所用的字符,缺省值为“[]”。

2、REPLICATE()
返回一个重复 character_expression指定次数的字符串。
REPLICATE(character_expressioninteger_expression)如 果integer_expression值为负值,则返回NULL。

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

4、 REPLACE()
返回被替换了指定子串的字符串。
REPLACE(<string_expression1>,<string_expression2>,<string_expression3>)用 string_expression3替换在string_expression1中的子串string_expression2。

5、SPACE()
返回一个有指定长度的空白字符串。
SPACE(<integer_expression>)如 果integer_expression值为负值,则返回NULL。

6、 STUFF()
用另一子串替换字符串指定位置、长度的子串。
STUFF(<character_expression1>,<start_position>,<length>,<character_expression2>)
如果起始位置为负或长度值为负,或者起始位置大于character_expression1的长度,则返回NULL值。
如果 length长度大于character_expression1中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)把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数据转换为字符串时所选用的由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加上指定的额外日期间隔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的缺省格式返回系统当前的日期和时间
分享到:
评论

相关推荐

    常用SQL字符串函数集锦.

    常用SQL字符串函数集锦.

    sql字符串函数集锦

    介绍sql常用的字符串函数及语法说明 介绍sql常用的字符串函数及语法说明

    Oracle_Sql_中常用字符串处理函数

    Oracle_Sql_中常用字符串处理函数

    sql字符处理函数大全

    此文件是汇聚了sql常用的字符操作的语句,方便实用。

    sqlserver中常用函数

    sqlserver中常用函数----字符串函数---- ASCII() --函数返回字符表达式最左端字符的ASCII 码值 CHAR() --函数用于将ASCII 码转换为字符 --如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值 ...

    SQL常用字符串函数

    SQL Server字符串处理函数大全

    比较基础的SQL Server字符串处理函数,却更有用!最重要的是基础!

    SQL_Sever数据库常用语句大全.zip

    stuff指定位置插入字符串、删掉字符串函数 查看数据库信息功能大全 存储过程解析大全 获取月份的月初月末时间 Convert转换数据类型函数(格式化字符串) newid生成唯一的序列 newid函数随机抽取n条记录 新增数据库表...

    sql sever 字符函数大全

    SQL-SEVER字符串函数大全 常用函数

    SQL2000常用函数

    SQL常用函数介绍及应用,例如常用的字符串函数、日期函数和系统函数等

    sql中的常用的字符串处理函数大全

    在ASCII()函数中,纯数字的字符串可不用‘'括起来,但含其它字符的字符串必须用‘'括起来使用,否则会出错。 2、CHAR() 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。 3、...

    SQL函数.html

    总结的一些常用的SQL函数、SQL字符串函数、SQL日期和时间函数、SQL数学函数

    Access常用内置SQL函数

    一、Access常用内置SQL函数---日期时间函数 1.CDate 说明:将字符串转化成为日期 举例:select CDate("2008/4/5") 2.Date 说明:返回当前日期 举例:select Date() 3.DateAdd 说明:将指定日期加上某个日期 举例:...

    sql常用函数PPT

    1.掌握GBase 8t数据库常用函数的使用:数学函数,时间函数,字符串函数等。 2.了解三角函数,基数函数等不常用函数的功能。

    PL/SQL 常用函数

    PL/SQL 常用函数,如日期格式转换,数字,常用数学行数,字符串截取,定位,等函数

    ORACLE常用数值函数、转换函数、字符串函数

    本文并不准备介绍全部的oracle函数,当前情势下,俺也还没这个时间,需要学习的东西太多了,要把多数时间花在学习经常能用上的技术方面:),所以如果是准备深入了解所有oracle函数的朋友,还是去关注:Oracle SQL ...

    SQL Server中的常用函数汇总

     在SQL server中常用5类的函数:字符串函数,日期函数,数学函数,系统函数,聚合函数。 字符串函数 --常用的字符串函数 1.charindex() -- 字符索引 2.len() -- 长度 3.upper() -- 大写 4.Ltrim() -- ...

    MySQL常用字符串函数

    MySQL常用字符串函数 先看下数据库表 lengtt(str) length:获取参数值的字节个数(注意不是字符个数) SELECT LENGTH('haosy') 结果是5 SELECT LENGTH('haosy郝') 结果是8 不是6(是字节个数不是字符个数,因编码...

    SQL开发常用函数集锦(word文档)

    包含了常用的SQL内置函数的用法和介绍: 字符转换函数 去空格函数 取子串函数 字符串比较函数 字符串操作函数 数据类型转换函数 日期函数 统计函数

    sqlserver数据库常用函数

    字符串函数 35 1.ASCII 35 2.CHAR 37 3.CHARINDEX 39 4.DIFFERENCE 41 5.LEFT 42 6.LEN 43 7.LOWER 44 8.LTRIM 45 9.NCHAR 46 10.PATINDEX 49 11.REPLACE 51 12.QUOTENAME 52 13.REPLICATE 53 14.REVERSE 56 15....

Global site tag (gtag.js) - Google Analytics