SQL Server部分函数的基本用法
2012-08-03 09:25
411 查看
1、object_id('Tempdb..#T')
if object_id('Tempdb..#T') is not null
drop table #T
是判断语句.
如果 tempdb数据库中的#T临时表存在的话,则删除它.
删除它的目的是后面想要生成这个临时表,如果原先有,就生成不了了.
表名前使用一个#号,临时表是局部的,使用两个#号,临时表是全局的,在断开连接后sql会自动删除临时表
临时表除了名称前多了#号外,其他操作与普通表完全一样。
2、ROW_NUMBER() OVER ()
ROW_NUMBER() OVER([PARTITION BY COL1] ORDER BY COL2) AS 别名
表示根据COL1分组,在分组内部根据COL2排序,而这个“别名”的值表示表示每组内部排序后的顺序编号(组内连续的唯一的)
[PARTITION BY COL1]可省略,省略后即不分组直接按照COL2排序(COL2可以为多个字段)
3、 CAST 和 CONVERT 类型转换函数
CAST是两种功能中更具 ANSI 标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些。不过, 当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST,首先使用CAST,如果遇到必须使用 CONVERT 的情况时再使用 CONVERT
CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性
CAST:CAST( expression AS data_type )
CONVERT: CONVERT (data_type[(length)], expression [, style])
expression 是任何有效的 Microsoft SQL Server 表达式。 有关更多信息, 请参见表达式。
data_type 目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义 的数据类型。有关可用的数据类型的更多信息,请参见数据类型。
length nchar、 nvarchar、 char、 varchar、 binary 或 varbinary 数据类型的可选参数。
style 日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据 (nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字 符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数 据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
4、DATEADD()
DATEADD() 函数在日期中添加或减去指定的时间间隔。
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart 参数可以是下列的值:
5、ISNULL()和NULLIF()
ISNULL(check_expression, replacement_value)
check_expression 与 replacement_value 数据类型必须一致
如果 check_expression 为 NULL,则返回 replacement_value 如果 check_expression 不为 NULL,则返回 check_expression
NULLIF(expression, expression)
如果两个 expression 相等,则返回 NULL,该 NULL 为第一个 expression 的值 如果两个 expression 不相等,则返回第一个 expression
5、取整函数trunc、round、ceil、floor、sign
1 trunc(value,precision)按精度(precision)截取某个数字,不进行舍入操作。
2 round(value,precision)根据给定的精度(precision)输入数值。
3 ceil (value) 产生大于或等于指定值(value)的最小整数。
4 floor(value)与 ceil()相反,产生小于或等于指定值(value)的最小整数。
5 sign(value) 与绝对值函数ABS()相反。ABS()给出的是值的量而不是其符号,sign(value)则给出值的符号而不是量。
1,返回大于或等于x的最大整数: SQL> select ceil(23.33) from dual;
CEIL(23.33) ----------- 24
2,返回等于或小于x的最大整数: SQL> select floor(23.33) from dual;
FLOOR(23.33) ------------ 23
3,返回舍入到小数点右边y位的x值:rcund(x,[y]) SQL> select round(23.33) from dual;
ROUND(23.33) ------------ 23
4,返回截尾到y位小数的x值:trunc(x,[y]) SQL> select trunc(23.33) from dual;
TRUNC(23.33) ------------ 23
5,返回x的符号 SQL> select sign(-23.33) from dual;
SIGN(-23.33) ------------ -1
6、LTRIM、RTRIM移除空白
LTRIM(字串): 将所有字串起头的空白移除(leading起头)。
RTRIM(字串): 将所有字串结尾的空白移除(trailing结尾)。
7、CHARINDEX
CHARINDEX ( expression1 , expression2 [ , start_location ] )
expression1是要到expression2中寻找的字符串,start_location是CHARINDEX函数开始在expression2中找expression1的位置。
SQL CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如SQL CHARINDEX函数没有找到要找的字符串,那么函数整数“0”。让我们看看下面的函数命令执行的结果:
CHARINDEX('SQL', 'Microsoft SQL Server')
这个函数命令将返回在“Microsoft SQL Server”中“SQL”的起始位置,在这个例子中,CHARINDEX函数将返回“S”在“Microsoft SQL Server”中的位置11。
8、SUBSTRING
SUBSTRING ( expression , start , length )
返回字符、binary、text 或 image 表达式的一部分
参数:
expression 是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表 达式。
start 是一个整数,指定子串的开始位置。
length 是一个整数,指定子串的长度(要返回的字符数或字节数)
返回值:
如果 expression 是支持的字符数据类型,则返回字符数据。如果 expression 是支持的 binary 数据类型,则返回二进制数据。
返回字符串的类型与给定表达式的类型相同(表中显示的除外)
9、LEFT
LEFT(<character_expression>, <integer_expression>)
返回 character_expression 左起 integer_expression 个字符。
if object_id('Tempdb..#T') is not null
drop table #T
是判断语句.
如果 tempdb数据库中的#T临时表存在的话,则删除它.
删除它的目的是后面想要生成这个临时表,如果原先有,就生成不了了.
表名前使用一个#号,临时表是局部的,使用两个#号,临时表是全局的,在断开连接后sql会自动删除临时表
临时表除了名称前多了#号外,其他操作与普通表完全一样。
2、ROW_NUMBER() OVER ()
ROW_NUMBER() OVER([PARTITION BY COL1] ORDER BY COL2) AS 别名
表示根据COL1分组,在分组内部根据COL2排序,而这个“别名”的值表示表示每组内部排序后的顺序编号(组内连续的唯一的)
[PARTITION BY COL1]可省略,省略后即不分组直接按照COL2排序(COL2可以为多个字段)
3、 CAST 和 CONVERT 类型转换函数
CAST是两种功能中更具 ANSI 标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些。不过, 当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST,首先使用CAST,如果遇到必须使用 CONVERT 的情况时再使用 CONVERT
CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性
CAST:CAST( expression AS data_type )
CONVERT: CONVERT (data_type[(length)], expression [, style])
expression 是任何有效的 Microsoft SQL Server 表达式。 有关更多信息, 请参见表达式。
data_type 目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义 的数据类型。有关可用的数据类型的更多信息,请参见数据类型。
length nchar、 nvarchar、 char、 varchar、 binary 或 varbinary 数据类型的可选参数。
style 日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据 (nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字 符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数 据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
4、DATEADD()
DATEADD() 函数在日期中添加或减去指定的时间间隔。
DATEADD(datepart,number,date)
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart 参数可以是下列的值:
datepart | 缩写 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微妙 | mcs |
纳秒 | ns |
ISNULL(check_expression, replacement_value)
check_expression 与 replacement_value 数据类型必须一致
如果 check_expression 为 NULL,则返回 replacement_value 如果 check_expression 不为 NULL,则返回 check_expression
NULLIF(expression, expression)
如果两个 expression 相等,则返回 NULL,该 NULL 为第一个 expression 的值 如果两个 expression 不相等,则返回第一个 expression
5、取整函数trunc、round、ceil、floor、sign
1 trunc(value,precision)按精度(precision)截取某个数字,不进行舍入操作。
2 round(value,precision)根据给定的精度(precision)输入数值。
3 ceil (value) 产生大于或等于指定值(value)的最小整数。
4 floor(value)与 ceil()相反,产生小于或等于指定值(value)的最小整数。
5 sign(value) 与绝对值函数ABS()相反。ABS()给出的是值的量而不是其符号,sign(value)则给出值的符号而不是量。
1,返回大于或等于x的最大整数: SQL> select ceil(23.33) from dual;
CEIL(23.33) ----------- 24
2,返回等于或小于x的最大整数: SQL> select floor(23.33) from dual;
FLOOR(23.33) ------------ 23
3,返回舍入到小数点右边y位的x值:rcund(x,[y]) SQL> select round(23.33) from dual;
ROUND(23.33) ------------ 23
4,返回截尾到y位小数的x值:trunc(x,[y]) SQL> select trunc(23.33) from dual;
TRUNC(23.33) ------------ 23
5,返回x的符号 SQL> select sign(-23.33) from dual;
SIGN(-23.33) ------------ -1
6、LTRIM、RTRIM移除空白
LTRIM(字串): 将所有字串起头的空白移除(leading起头)。
RTRIM(字串): 将所有字串结尾的空白移除(trailing结尾)。
7、CHARINDEX
CHARINDEX ( expression1 , expression2 [ , start_location ] )
expression1是要到expression2中寻找的字符串,start_location是CHARINDEX函数开始在expression2中找expression1的位置。
SQL CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如SQL CHARINDEX函数没有找到要找的字符串,那么函数整数“0”。让我们看看下面的函数命令执行的结果:
CHARINDEX('SQL', 'Microsoft SQL Server')
这个函数命令将返回在“Microsoft SQL Server”中“SQL”的起始位置,在这个例子中,CHARINDEX函数将返回“S”在“Microsoft SQL Server”中的位置11。
8、SUBSTRING
SUBSTRING ( expression , start , length )
返回字符、binary、text 或 image 表达式的一部分
参数:
expression 是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表 达式。
start 是一个整数,指定子串的开始位置。
length 是一个整数,指定子串的长度(要返回的字符数或字节数)
返回值:
如果 expression 是支持的字符数据类型,则返回字符数据。如果 expression 是支持的 binary 数据类型,则返回二进制数据。
返回字符串的类型与给定表达式的类型相同(表中显示的除外)
给定表达式 | 返回类型 |
---|---|
image | varbinary |
ntext | nvarchar |
LEFT(<character_expression>, <integer_expression>)
返回 character_expression 左起 integer_expression 个字符。
相关文章推荐
- sql server 的部分基本用法。
- 【SQL Server学习笔记】8:T-SQL部分基本语法
- 【SQL Server】部分常用函数
- hive基本用法汇总(部分)
- ROW_NUMBER() OVER函数的基本用法
- ROW_NUMBER() OVER函数的基本用法用法
- C# 中LINQ的基本用法(1)--sql server
- 3.12课程小练以及vim编辑器的基本用法(部分)
- ROW_NUMBER() OVER函数的基本用法
- ROW_NUMBER() OVER函数的基本用法
- SQL Server 排序函数 ROW_NUMBER和RANK 用法总结
- ROW_NUMBER() OVER函数的基本用法 (转)
- SQL Server之其他函数——类型转换函数(convert用法)(转)
- ROW_NUMBER() OVER函数的基本用法
- C编程(二)基本输入输出函数用法
- sql server的存储过程的基本用法
- ROW_NUMBER() OVER函数的基本用法用法【转】
- SQL Server日期加减函数DATEDIFF与DATEADD用法分析
- 脚本文件的编写和关于文件的基本函数的用法
- SQL Server基本函数详细介绍