1. 字符串函数

  1.1 datalength( char_expr ) ,返回表达式的字节数,不包含尾随空格

  返回类型:如果 expression 的数据类型为 varchar(max)、nvarchar(max) 或 varbinary(max) 数据类型,则返回 bigint;否则返回 int。null的datalength的结果是null.

  1.2 len( char_expr ),返回表达式的字符数,不包含尾随空格

  1.3 substring( char_expr, start, length ),在expression中取start位置开始length长度的字符串。字符串下标从1开始。

  1.4 right( char_expr,int_expr ),返回表达式从起始位置(从右端开始)到指定字符位置(从右端开始计数)的部分;对比区分left()

  1.5 isnull(check_expr,replace_value),如果check_expr为空,返回replaced的值,否则返回check_expr

  1.6 upper(char_expr) 转为大写;反之lower(char_expr)转为小写

  1.7 space(int_expr) 生成int_expr个空格

  1.8 replicate(char_expr,int_expr)复制字符串int_expr次

  1.9 reverse(char_expr) 反转字符串

  1.10 stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从start开始的length个字符用char_expr2代替。start为负或超出char_expr1长度,则返回空字符串;length为负,返回空字符串

  1.11 ltrim(char_expr)取掉左侧空格;反之rtrim(char_expr)  取掉右侧空格

  1.12 ascii(char) 、char(ascii) 两函数对应,取ascii码,根据 ascii 码取字符  

  1.13 charindex(char_expr1,char_expr2[,start_location]),在char_expr2中找char_expr1的起始位置,如果没有给定start_location、或者给定值为负数或零,那么搜索将会开始于char_expr2的起始位置。

  1.14 patindex("%pattern%",char_expr) 返回指定模式的起始位置,否则为0;pattern为一个文字字符串,可以使用通配符;但是pattern前后必须使用字符'%'(查找第一个或最后一个字符时除外)。示例:搜索其名称包含单词"apple"的产品的列表:select productName,patindex('%apple%',productName) from products

2. 数学函数

  2.1 abs(numeric_expr) 求绝对值

  2.2 ceiling(numeric_expr) 取大于等于指定值的最小整数

  2.3 exp(float_expr) 取指数

  2.4 floor(numeric_expr) 小于等于指定值得最大整数

  2.5 pi() 3.1415926.........

  2.6 power(numeric_expr,power) 返回power次方

  2.7 rand([int_expr]) 随机数产生器

  2.8 round(numeric_expr,int_expr) 按int_expr规定的精度四舍五入

  2.9 sign(int_expr) 根据正数,0,负数,,返回+1,0,-1

  2.10 sqrt(float_expr) 平方根

  2.11 isnumeric(expr),如果输入表达式的计算值为有效的整数、浮点数、money或decimal类型时,返回1(指示可将expr至少转换为上述数值类型中的一种。),否则返回0。

3. 日期函数

  3.1 getdate(),返回当前日期

  3.2 datename(datepart, date_expr),返回指定日期指定日期部分的字符串

  3.3 datepart(datepart, date_expr),返回指定日期指定日期部分的整数

  3.4 datediff(datepart, startdate, enddate),日期差;提前五分钟提醒功能:select * from tbName where datediff('minute',col_date,getdate())>5

  3.5 dateadd(datepart, number, date_expr),返回当前日期加上number之后的日期

  3.6 convert(),可以日期转换

  3.7 year(date_expr),获取年份;month()、day()

  说明,上面函数中datepart的 写法,取值,意义 如下(写year、month、day等也是可以的):

   yy          1753-9999  年份

   mm    1-12    月

   dy      1-366      日

   dd    1-31    日

   wk    1-54    周

   dw      1-7     周几 

   hh     0-23    小时

   mi     0-59      分钟

   ss       0-59      秒

   ms      0-999    毫秒

   qq     1-4    刻

4.聚合函数

  4.1 avg(),返回一组数值中所有非空数值的平均值

  4.2 count(),返回一个列内所有非空值的个数。count(*)会忽略null值

  4.3 min(),返回一个列范围内的最小非空值;max()与之相反。这两个函数可以用于大多数的数据类型,返回的值根据对不同数据类型的排序规则而定。如对于字符类型的值,结果以每个字符的ASCII值为顺序从左到右排序

  4.4 sum(),返回一个列范围内所有非空值的总和

5. 系统函数

  5.1 suser_name() 用户登录名  
  5.2 user_name() 用户在数据库中的名字  
  5.3 user 用户在数据库中的名字  
  5.4 show_role() 对当前用户起作用的规则  
  5.5 db_name() 数据库名  
  5.6 object_name(obj_id) 数据库对象名  
  5.7 col_name(obj_id,col_id) 列名  
  5.8 col_length(objname,colname) 列长度  
  5.9 valid_name(char_expr) 是否是有效标识符

6. 类型转换函数

  6.1 cast()

  6.2 convert()

  6.3 str(float_expr [,length [,decimal] ] );返回由数字数据转换来的字符数据。length,总长度,包括小数点、符号、数字以及空格(默认值为10);decimal,小数点后的位数,decimal必须小于或等于16。超出则截断,只保留16位。

print str(12,3,0)   --'12',length大于表达式的长度
print str(123,3,0) --'123',length等于表达式的长度
print str(1234,3,0) --'***',length小于表达式的长度
print str('',2,0) --'13',表达式为字符串类型也可以执行该函数 ★
print str(123.456) --'       123',默认长度为10,只保留整数部分

  6.4 char(int_expr);将int ASCII代码转换为字符;int_expr 介于0-255之间的整数,否则返回null值

char(9)    --制表符
char(10) --换行符
char(13) --回车符
--使用char(13)在不同的行上输出姓名、电子邮件地址和电话号码,并以文本方式返回结果
select username,+char(13)+EmailAddress+char(13)+Phone
from tb_user where id=1
--结果如下:
username
------------------------ -------------------------
张三
123456789@163.com

7.其他标量函数

  标量函数只对一个数值进行操作,并返回单个数值,标量函数分为以下几类:

系统函数、日期/时间函数、字符串函数、数学函数、图像和文本函数、安全函数、游标函数、数据元函数;

select '当前数据库名称'=db_name(),
'当前数据库标识号'=db_id()

8. 嵌套函数(将一个函数的返回值传递给另一个函数,这称为嵌套函数调用,如下:)

  select convert(varchar(20),getdate(),101)

  

SQL Server基本函数的更多相关文章

  1. Sql server 大全

    一.基础 .说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ...

  2. sql server语句

    一.基础1.说明:创建数据库CREATE DATABASE 数据库名2.说明:删除数据库drop database 数据库名3.说明:备份sql server--- 创建 备份数据的 deviceUS ...

  3. 常用SQL语句大全(SQL Server)

    一.基础       查看数据库状态 select state_desc from sys.databases where name='dbname'  -- dbname数据库名 1.说明:创建数据 ...

  4. 15Microsoft SQL Server 数据库维护

    Microsoft SQL Server 数据库维护 2.6.1数据库联机与脱机 --联机:该状态为数据库正常状态,也就是我们常看到的数据库的状态,该状态下的数据库处于可操作状态,可以对数据库进行任何 ...

  5. sql语句复习(基础-提升-技巧-经典数据开发案例-sql server配置)

    1 基础 1.说明:创建数据库 CREATE DATABASE database-name charset=utf8 2.说明:删除数据库 drop database dbname 3.说明:备份sq ...

  6. SQL Server经典sql语句大全(转)

    一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...

  7. SQL SERVER 语法汇总

    一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...

  8. SQL Server 语法大全

    SQL语句参考,包含Access.MySQL 以及 SQL Server 基础 创建数据库 CREATE DATABASE database-name 删除数据库 drop database dbna ...

  9. sql Server 的基本函数

    --聚合函数 use pubs go select avg(distinct搜索 price) --算平均数 from titles where type='business' go use pubs ...

随机推荐

  1. Aspect Oriented Programming (AOP)

    切面”指的是那些在你写的代码中在项目的不同部分且有相同共性的东西.它可能是你代码中处理异常.记录方法调用.时间处理.重新执行一些方法等等的一些特殊方式.如果你没有使用任何面向切面编程的类库来做这些事情 ...

  2. mysql之show engine innodb status解读

    注:以下内容为根据<高性能mysql第三版>和<mysql技术内幕innodb存储引擎>的innodb status部分的个人理解,如果有错误,还望指正!!   innodb存 ...

  3. Shader的自定义特性使用

    使用自定义特性关键字,可以动态对Shader某一部分代码进行开关操作 shader(定义了KEYWORD1特性): 定义:#pragma shader_feature KEYWORD1 判断:#ifd ...

  4. Flowplayer-JavaScript API

    source url: https://flowplayer.org/docs/api.html Global API access Use the flowplayer function to ge ...

  5. 16-underscore库(上)

    第16课 underscore库 一.介绍 Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象.他弥补了 ...

  6. 基于cmake编译安装MySQL-5.5

    cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以 ...

  7. gdb多进程调试

    http://blog.csdn.net/nbabn/article/details/24984501 http://blog.csdn.net/zb872676223/article/details ...

  8. Java使用BigDecimal精确计算的简单公式计算器

    由于工作需要,写了一个使用BigDecimal运算的精确计算的计算器(然后发现其实比不用BigDecimal的并好不到哪里去) 只能做加减乘除 double类型的数字在千万级别的时候会转成科学计数法, ...

  9. 《BI那点儿事》SQL Server 2008体系架构

    Microsoft SQL Server是一个提供了联机事务处理.数据仓库.电子商务应用的数据库和数据分析的平台.体系架构是描述系统组成要素和要素之间关系的方式.Microsoft SQL Serve ...

  10. [bzoj3555]企鹅QQ(hash)

    3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 1645  Solved: 616[Submit][Statu ...