图例: 方框内, 序号后的 加粗字体为要 演示的函数. , 括号内的 加粗字体为其 参数. , 括号内的 内嵌 [ 或 ] 为 可选参数 , 非图片中, 注释内用 ' ' (单引号) 标注的内容为描述 参数的值.
字符串转换函数:
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 的结果集行数