MS-SQL Server [摘改]

图例:
方框内, 序号后的加粗字体为要演示的函数.
                                 , 括号内的加粗字体为其参数.
                                 , 括号内的内嵌 [ 或 ] 可选参数
       
, 非图片中, 注释内用 ' ' (单引号) 标注的内容为描述参数的值.

字符串转换函数:

1. ASCII( 数字 或 字符串 ): 返回数字或字符串的第一个字母(数字也会当作字母)的ASCII值. 

2. CHAR( ASCII码 ): 返回 'ASCII码' 对应的字母. 在 0 ~ 255 内返回正常字母, 其他区间返回 null.
 

3.  LOWER/UPPER( 字串 ): 将字串中小写/大写字母转换为大写/小写, 其他字母不变. 若输入数字, 则原样返回.
 

4.  STR( 数字, [length], [point] )
length 指定返回的字符串的长度,point 指定返回的小数位数。如果没有指定长度,缺省的 length 值为10, point 缺省值为0。
当 length 或者 point 为负值时,返回NULL;
当 length 小于小数点左边(包括符号位)的位数时,返回length 个*;
先服从 length ,再取 point ;
当返回的字符串位数小于 length ,左边补足空格。 
当返回的字符串小数位数小于 point 时, 右边补 0 。
 

5. LTRIM/RTRIM( 字串 ): 去除字串左/右边连续的空格. 当输入数字时原样返回.
 

6. LEFT/RIGHT( 字串, 长度 ): 返回从左开始, 向右去 '长度' 个字符的子串. 
数字值大于字串长度则返回整个字串.
数字为 0 则返回 null.
         负数则导致函数失败.

失败情况:
 

7. SUBSTRING( 字串, 起始位置, 长度 ): 从字串 '起始位置' 开始, 向右取 '长度' 个字符的字串.
 
失败情况:


8. CHARINDEX( 子串, 待搜整串 ): 返回字符串中某个指定的子串出现的开始位置。
返回其在 '待搜整串' 里的起始位置(从 1 开始), 未找到则返回 0.
 

9. PATINDEX( 子串, 待搜整串 ):  -------------不懂------------望高人补充---------------
返回字符串中某个指定的子串出现的开始位置。
PATINDEX (<’%substring _expression%’>, <column_ name>)其中子串表达式前后必须有百分号“%”否则返回值为0。
与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。 

10. QUOTENAME( 字串, [边界串] ): 向 '字串' 左右添加一对 '边界串', '边界串' 默认为一对 '[ ]'
某些 '边界串' 无法被添加至 '字串', 则输出 null.
 

11. REPLICATE( expression, times ): 返回一个重复 times 次 expression 的字串.
当 times 小于或等于 0 时返回 null.
 

12. REVERSE( expression ): 将 'expression' 反转, 但不改变参数的类型.


13. SPACE( 数字 ): 返回 '数字' 个空格的字串.
'数字' 等于 0 时返回空串.
        小于       返回 null.
 

14. STUFF( expression1, start-position, length, expression2 ) : 将 'expression1' 从 'start-position' 起, 向右的 'length' 个字符, 替换为 'expression2'.
当 'length' 等于 0 时, 从第 'start-pos' 的做锚点开始插入 'expression2'.
当 'start-position' 小于 0 或大于 'expression1' 长度时返回 null
当 'length' 小于 0 时返回 null
 


类型转换函数:
1. CAST( expression as type): 返回新类型
 

2. CONVERT (<data_ type>[ length ], <expression> [, 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. GETDATE(): 返回 datetime 格式的当先日期时间
 

2. DAY/MONTH/YEAR( datetime-expression ): 返回 'date-expression' 中的日/月/年部分. 类型是 int
 

3.  DATEPART( dd/mm/yy,  datetime-expression): 返回 'date-expression' 中的日/月/年部分. 类型是 int
等同于 DAY/MONTH/YEAR(datetime-expression).

4. DATENAME( DAY/MONTH/YEAR, datetime-expression ): 以字符串形式返回日期时间的一部分.
 


5. DATEADD( DAY/MONTH/YEAR, number, datetime-expression ): 返回 'datetime-expression' 的相应部分加上 number 所产生的新的 datetime 日期.


6. DATEDIFF( DAY/MONTH/YEAR, date1, date2 ): 返回 date2 超过 date1 在相应部分的差距值,其结果值是一个带有正负号的整数值。
 
--聚合函数
use pubs
go
select avg(distinct price) --算平均数
from titles
where type='business'
go
use pubs
go
select max(ytd_sales) --最大数
from titles
go

use pubs
go
select min(ytd_sales) --最小数
from titles
go

use pubs
go
select type,sum(price),sum(advance) --求和
from titles
group by type
order by type
go

use pubs
go
select count(distinct city) --求个数
from authors
go

use pubs
go
select stdev(royalty) --返回给定表达式中所有值的统计标准偏差
from titles
go

use pubs
go
select stdevp(royalty) --返回表达式中所有制的填充统计标准偏差
from titles
go

use pubs
go
select var(royalty) --返回所有值的统计方差
from titles
go

use pubs
go
select varp(royalty) --返回所有值的填充的统计方差
from titles
go

--数学函数

select sin(23.45),atan(1.234),rand(),PI(),sign(-2.34) --其中rand是获得一个随机数


--
部分全局变量
Select @@VERSION --获取当前数据库版本
Select @@LANGUAGE --当前语言
Select @@RowCount -- 获取最后一次 Select 的结果集行数
posted @ 2011-06-26 21:25  walfud  阅读(307)  评论(0编辑  收藏  举报