SQL Server基本函数
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基本函数的更多相关文章
- Sql server 大全
一.基础 .说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ...
- sql server语句
一.基础1.说明:创建数据库CREATE DATABASE 数据库名2.说明:删除数据库drop database 数据库名3.说明:备份sql server--- 创建 备份数据的 deviceUS ...
- 常用SQL语句大全(SQL Server)
一.基础 查看数据库状态 select state_desc from sys.databases where name='dbname' -- dbname数据库名 1.说明:创建数据 ...
- 15Microsoft SQL Server 数据库维护
Microsoft SQL Server 数据库维护 2.6.1数据库联机与脱机 --联机:该状态为数据库正常状态,也就是我们常看到的数据库的状态,该状态下的数据库处于可操作状态,可以对数据库进行任何 ...
- sql语句复习(基础-提升-技巧-经典数据开发案例-sql server配置)
1 基础 1.说明:创建数据库 CREATE DATABASE database-name charset=utf8 2.说明:删除数据库 drop database dbname 3.说明:备份sq ...
- SQL Server经典sql语句大全(转)
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
- SQL SERVER 语法汇总
一.基础 1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备 ...
- SQL Server 语法大全
SQL语句参考,包含Access.MySQL 以及 SQL Server 基础 创建数据库 CREATE DATABASE database-name 删除数据库 drop database dbna ...
- sql Server 的基本函数
--聚合函数 use pubs go select avg(distinct搜索 price) --算平均数 from titles where type='business' go use pubs ...
随机推荐
- Aspect Oriented Programming (AOP)
切面”指的是那些在你写的代码中在项目的不同部分且有相同共性的东西.它可能是你代码中处理异常.记录方法调用.时间处理.重新执行一些方法等等的一些特殊方式.如果你没有使用任何面向切面编程的类库来做这些事情 ...
- mysql之show engine innodb status解读
注:以下内容为根据<高性能mysql第三版>和<mysql技术内幕innodb存储引擎>的innodb status部分的个人理解,如果有错误,还望指正!! innodb存 ...
- Shader的自定义特性使用
使用自定义特性关键字,可以动态对Shader某一部分代码进行开关操作 shader(定义了KEYWORD1特性): 定义:#pragma shader_feature KEYWORD1 判断:#ifd ...
- Flowplayer-JavaScript API
source url: https://flowplayer.org/docs/api.html Global API access Use the flowplayer function to ge ...
- 16-underscore库(上)
第16课 underscore库 一.介绍 Underscore 是一个 JavaScript 工具库,它提供了一整套函数式编程的实用功能,但是没有扩展任何 JavaScript 内置对象.他弥补了 ...
- 基于cmake编译安装MySQL-5.5
cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以 ...
- gdb多进程调试
http://blog.csdn.net/nbabn/article/details/24984501 http://blog.csdn.net/zb872676223/article/details ...
- Java使用BigDecimal精确计算的简单公式计算器
由于工作需要,写了一个使用BigDecimal运算的精确计算的计算器(然后发现其实比不用BigDecimal的并好不到哪里去) 只能做加减乘除 double类型的数字在千万级别的时候会转成科学计数法, ...
- 《BI那点儿事》SQL Server 2008体系架构
Microsoft SQL Server是一个提供了联机事务处理.数据仓库.电子商务应用的数据库和数据分析的平台.体系架构是描述系统组成要素和要素之间关系的方式.Microsoft SQL Serve ...
- [bzoj3555]企鹅QQ(hash)
3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1645 Solved: 616[Submit][Statu ...