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() 函数在日期中添加或减去指定的时间间隔。

 

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

 

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结尾)。

 

 7CHARINDEX

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。

 

8SUBSTRING

SUBSTRING ( expression , start , length )

返回字符、binary、text 或 image 表达式的一部分

参数:

expression 是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表 达式。

start 是一个整数,指定子串的开始位置。

length 是一个整数,指定子串的长度(要返回的字符数或字节数)

返回值:

如果 expression 是支持的字符数据类型,则返回字符数据。如果 expression 是支持的 binary 数据类型,则返回二进制数据。
返回字符串的类型与给定表达式的类型相同(表中显示的除外)

给定表达式返回类型
image varbinary
ntext nvarchar

 

9、LEFT

LEFT(<character_expression>, <integer_expression>)
返回 character_expression 左起 integer_expression 个字符。

 

posted on 2012-08-03 09:25  Miko2012  阅读(2512)  评论(0编辑  收藏  举报