SQLServer 函数-- 字符串,时间,数学,系统,聚合

#函数-- 字符串,时间,数学,系统,聚合

--------------------------字符串函数----------------------------------

  1. ascii(字符串) 返回最左侧的字符的ASCII码
    SELECT ascii( ‘ssfs’ ) --返回:115,PS:里面不管写多少都只识别第一个

  2. char(ASCII码) 把ASCII码转换为字符
    SELECT CHAR ( 0 ) --返回:s
    –PS:介于0 和 255 之间的整数。如果该整数表达式不在此范围内,将返回NULL 值。

  3. charindex(字符串1,字符串2[,n]) 返回字符串的位置
    SELECT charindex( ‘a’, ‘abcdef’ ) --返回:1
    SELECT charindex( ‘b’, ‘abcdef’, 4 ) --返回:0
    –PS:因为是从第四位开始找的所以找不到就返回0

  4. difference(字符串1,字符串2) 寻找差异与不同
    SELECT difference( ‘dbce’, ‘abcdef’ ) --返回4
    –PS:俩个字符串从头开始寻找差异 查看有多少系统 注意:相似不代表相同

  5. left(字符串,n)从左截取字符串
    SELECT LEFT ( ‘abgashba’, 3 ) --返回:abg

  6. right(字符串,n)从右截取字符串
    SELECT RIGHT ( ‘asfhvah’, 3 ) --返回:vah

  7. len(‘字符串’) 字符串的长度 最后的空格不算
    SELECT len( ‘gioi 胜’ ) --返回:5

  8. lower(‘字符串’) 字母转换为小写
    SELECT LOWER ( ‘jaAj’ ) --返回:jaaj

  9. upper(‘字符串’)
    SELECT UPPER ( ‘djAa’ ) --返回:DJAA

  10. ltrim(‘字符串’) 返回的字符串修饰前面的空格
    SELECT ltrim( ’ abcd ’ ) --返回:abcd空格

  11. rtrim(‘字符串’) 返回的字符串修饰后面的空格
    SELECT rtrim( ’ abcd ’ ) --返回:空格abcd

  12. patindex(‘字符串’,‘字符串’) 按照正则表达式 查找位置
    SELECT patindex( ‘%abc_’, ‘aaabcd’ ) --返回:3
    –PS:这里的正则与like时的是一样的

  13. reverse(‘字符串’) 把字符串顺序调反过来
    SELECT reverse( ‘abcde’ );–返回:edcba

  14. space(n) 空格
    SELECT ‘a’ + SPACE ( 2 ) + ‘c’ --返回:a空格*2c

  15. str(数字类型的表达式[,数字类型的表达式的总长度][,小数点后保留的位数])
    SELECT str( 123.912, 7, 3 ) --返回:空格123.91
    –注意:遵循四舍五入
    –返回由数字转换成的字符串。返回字符数不到总长度的前面补
    –空格,超过总长度的截断小数位。如果需要截断整数位则返回

  16. stuff(字符串表达式1,开始位置,长度,字符串表达式2) 替换
    SELECT stuff( ‘abcde’, 2, 2, ‘123’ ) --返回:a123de

  17. substring(字符串表达式,开始位置,长度) 截取
    SELECT SUBSTRING ( ‘abcdef’, 3, 2 ) --返回:cd

  18. replace(字符串表达式1,字符串表达式2,字符串表达式3) 替换
    SELECT replace( ‘abcdef’, ‘b’, ‘123’ ) --返回:a123cdef

----------------时间串函数------------------------------------

  1. dateadd(日期部分,数字,日期) 添加指定的时间 并返回
    SELECT dateadd( dd, 6, ‘2000-11-29’ ) --返回:2000-12-05 00:00:00.000

  2. datediff(日期部分,日期,日期) 返回俩个日期之间的日期部分
    SELECT datediff( dd, ‘2000-11-29’, ‘2000-12-6’ ) --返回:7

  3. datename(日期部分,日期) 返回字符串格式的指定日期部分
    SELECT datename( dw, ‘2000-11-29’ ) --返回:星期三

  4. datepart(日期部分,日期) 返回整数格式的指定日期部分
    SELECT datepart( dw, ‘2000-11-29’ ) --返回:4(星期三)因为星期天是1

  5. getdate() 返回系统时间 精确到毫秒
    SELECT getdate() --返回:2018-11-13 10:59:25.850

  6. getutcdate() 返回UTC(世界标准时间)时间。即格林尼治时间
    SELECT getutcdate() --返回:2018-11-13 03:03:49.770

  7. 日期部分全称(日期) 返回日期部分全称的筛检
    SELECT YEAR ( ‘2000-12-06’ );–返回2000
    SELECT MONTH ( ‘2000-12-06’ );–返回12

----------------数学函数------------------------------------

  1. abs(数值表达式) 返回绝对值
    SELECT abs( - 12 ) --返回:12

  2. pi() 返回π的值
    SELECT pi() --返回:3.14159265358979

  3. cos(浮点表达式) 返回指定弧度的余弦值
    SELECT
    cos( pi() / 3 ) --返回:0.5

  4. sin(浮点表达式) 返回指定弧度的正玹值
    SELECT
    sin( pi() / 6 ) --返回:0.5

  5. cot(浮点表达式) 返回指定弧度的余切值
    SELECT
    cot( pi() / 4 ) --返回:1
    –6. tan(浮点表达式) 返回指定弧度的正切值
    SELECT
    tan( pi() / 4 ) --返回:1

  6. acos(浮点表达式) 返回其余弦是所指定的数值表达式的弧度,求反余弦
    SELECT
    acos( 0.5 ) --返回 1.0471975511966

  7. asin(浮点表达式) 返回其正弦是所指定的数值表达式的弧度,求反正弦
    SELECT
    asin( 0.5 ) --返回 0.523598775598299

  8. atan(浮点表达式) 返回其正切是所指定的数值表达式的弧度,求反正切
    SELECT
    atan( 1 ) --返回0.785398163397448

  9. degrees(数值表达式) 返回以弧度指定的角的相应角度。
    SELECT
    degrees( pi() / 4 ) --返回:45

  10. radians(数值表达式) 返回指定度数的弧度值。注意如果传入整数值则返回的结果将会省略小数部分
    SELECT
    radians( 180.0 ) --返回3.1415926535897931

  11. exp(浮点表达式) 返回求 e 的指定次幂,e=2.71828182845905…
    SELECT
    exp( 2 ) --返回7.38905609893065

  12. log(浮点表达式) 返回以 e 为底的对数,求自然对数。
    SELECT
    log( 6 ) --返回:1.79175946922805

  13. log10(浮点表达式) 返回以 10 为底的对数
    SELECT
    log10( 1000 ) --返回:2

  14. ceiling(数值表达式) 向上取整
    SELECT
    ceiling( 3.333 ) --返回:4
    SELECT
    ceiling( - 3.33 ) --返回:-3

  15. floor(数值表达式) 向下取整
    SELECT
    floor( 3.333 ) --返回:3
    SELECT
    floor( - 3.33 ) --返回:-4

  16. power(数值表达式1,数值表达式2) 返回数值表达式1的数值表达式2次幂
    SELECT
    power( 3, 3 ) --返回:27

  17. sqrt(数值表达式) 返回数值表达式的平方根
    SELECT
    sqrt( 25 ) --返回:5

  18. sign(数值表达式) 判断是不是正数的
    SELECT
    sign( - 9 ) --返回:-1
    SELECT
    sign( 0 ) --返回:0
    SELECT
    sign( 4 ) --返回:1
    PS:正数就返回1 负数就返回-1 0就返回0

  19. rand(整数表达式) 返回0-1之间随机float
    SELECT
    rand() --返回:0.28463380767982 (不一定是这个,因为是随机的)

  20. round(数值表达式[,小数点后的长度[,操作方式]]) 四舍五入
    SELECT
    round( 123.55, 1 ) --返回:123.60
    SELECT
    round( 123.555, 2, 1 ) --返回:123.550 对第三个参数意思就是只要不是0 就不四舍五入了

  21. convert(数据类型[(长度)],表达式[,样式]) 转类型
    SELECT CONVERT
    ( nvarchar, 123 ) --返回123
    SELECT
    N’年龄:’ + CONVERT ( nvarchar, 23 ) --返回年龄:23
    ----------------------系统函数---------------------------

  22. newid 返回一个GUID(全局唯一表示符)值
    SELECT
    newid() --返回:C84DF39F-90AE-4AA6-8550-7BDF8F113EF7

  23. isnumeric(任意表达式) 判断是不是数值类型
    SELECT
    isnumeric( 11 ) --返回:1
    SELECT
    isnumeric( ‘110’ ) --返回:1
    SELECT
    isnumeric( ‘110a’ ) --返回:0
    PS:只要能转成(或者本就是)数值的都返回1 否则返回0

  24. isnull(任意表达式1 ,任意表达式2 ) 判断是否为null的
    SELECT
    isnull( NULL, N’没有值’ ) --返回:没有值
    SELECT
    isnull( N’具体的值’, N’没有值’ ) --返回:具体的值

  25. isdate(任意表达式) 判断是否为date格式
    SELECT
    isdate(
    getdate()) --返回1
    SELECT
    isdate( ‘1988-1-1’ ) --返回1
    SELECT
    isdate( ‘198’ ) --返回0

  26. 排序开窗函数 row_number(行号) rank(排名) dense_rank(密集排名) ntile(分组排名)
    SELECT
    row_number () OVER ( ORDER BY StudentNo ), *
    FROM
    student ----------------------------聚合函数------------------

  27. avg(列名) 平均值,空值会被忽略
    SELECT AVG
    ( studentResult )
    FROM
    result --返回:85

  28. count(列名) from student 返回行数。包括null与重复的值
    SELECT COUNT
    ( * )
    FROM
    student --返回9

  29. min(列名) 返回最小值
    SELECT MIN
    ( studentResult )
    FROM
    result --返回:80

  30. max(列名) 返回最大值
    SELECT MAX
    ( studentResult )
    FROM
    Presult --返回:90
    –5. sum(列名) 返回总合
    SELECT SUM
    ( studentResult )
    FROM
    result --返回:170

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值