转自:http://www.maomao365.com/?p=4732

转自:http://www.maomao365.com/?p=4390

Convert的使用方法:   格式: Convert(data_type,expression[,style])
  说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.
  例子: SELECT Convert(varchar(30),getdate(),101) now   结果为
  now   09/15/2001   style数字在转换时间时的含义如下:
Style(2位表示年份) Style(4位表示年份) 输入输出格式 0 100 mon dd yyyy
hh:miAM(或PM) 1 101 mm/dd/yy 2 102 yymmdd 3 103 dd/mm/yy 4 104 ddmmyy 5
105 ddmmyy 6 106 dd mon yy 7 107 mon dd,yy 8 108 hh:mm:ss 9 109 mon dd
yyyy hh:mi:ss:mmmmAM(或PM) 10 110 mmddyy 11 111 yy/mm/dd 12 112
yymmdd 13 113 dd mon yyyy hh:mi:ss:mmm(24小时制) 14 114
hh:mi:ss:mmm(24小时制) 20 120 yyyymmdd hh:mi:ss(24小时制) 21 121
yyyymmdd hh:mi:ss:mmm(24小时制)
………………………………………………………………………………………………………………
vb的功能比较强。在c#中,没有Int这样的函数。Convert是.net系统类库支持的比较基本的转换函数,各语言通用。VB的类型转换功能强,一些.net基本转换函数无法转换的用VB则可以,灵活了就是容易出错,简单了就功能太弱。除了转换的“可能性”既结果不同,在性能上也有一些次要差别。如果简单的转换写的复杂,例如ctype(a,integer)偏偏写convert.toInteger(a),对于大量循环等,估计会慢几十倍。

SQL中的时间函数非常有用,特别是在我们进行初始赋值、复杂查询的时候,就显得特别方便。

一、mssql sql hashbytes
函数简介

一、coalesce函数简介

1、获得系统当前时间

SQL中的时间函数非常有用,特别是在我们进行初始赋值、复杂查询的时候,就显得特别方便。

hashbytes函数功能为:返回一个字符,
通过 MD2、MD4、MD5、SHA、SHA1、SHA2_256、SHA2_512方式加密后的返回值

coalesce 系统函数,比ISNULL更强大,更方便的系统函数,
coalesce可以接收多个参数,返回最左边不为NULL的参数,当所有参数都为空时,则返回NULL
coalesce是最优isnull写法解决方案
以前我们使用isnull对两列或多列数据进行为空返回时候,需要多次使用isnull函数
—————————————————————————-
例:
declare @a varchar(10),@b varchar(10),@c varchar(10)
当@a为null时,我们查看@b是否为NULL,不为null,则返回@b ,否则查看@c
不为NULL,则返回@c ,否则返回NULL

select getdate() 

1、获得系统当前时间

hashbytes(‘参数1’,’参数2’)

select isnull(@a,isnull(@b,isnull(@c,null)))
金沙国际官网,/*当需判断的参数越多时,我们的函数表达式就会变的异常复杂*/

 

select getdate() 

参数1:
输入加密类型 例:MD5
参数2:
输入待加密的字符串(加密字符串最大值为 8000字节)
返回值:
返回值最大为8000字节
注意事项:
当输入加密类型,异常时,返回NULL

但我们使用coalesce函数,会使此 表达式变的优美,通俗易懂
select coalesce(@a,@b,@c)
——————————————————————————–

2、DateName ( datepart , date
)返回表示指定日期的指定日期部分的字符串。

 

二、mssql sql hashbytes
举例应用


–今天是2009-2-24–星期二

2、DateName ( datepart , date
)返回表示指定日期的指定日期部分的字符串。

例1:

二、coalesce 应用举例

SELECT DATENAME(year, getdate()) AS ‘Year Name’ ——–返回:2009

–今天是2009-2-24–星期二

   DECLARE @info nvarchar(4000);  
SET @info = CONVERT(nvarchar(4000),'www.maomao365.com');  
SELECT HASHBYTES('SHA1', @info);   ---返回采用SHA1加密
SELECT HASHBYTES('MD5', @info);    ---返回采用MD5加密
SELECT HASHBYTES('MD2', @info);    ---返回采用MD2加密

 

SELECT DATENAME(month, getdate()) AS ‘Month Name’  ——–返回:02

SELECT DATENAME(year, getdate()) AS ‘Year Name’ ——–返回:2009

例2:

  declare @a varchar(10),@b varchar(10),@c varchar(10),@d int 

 select coalesce(@a,@b,@c)

 set @a ='g'
 select coalesce(@a,@b,@c)

 set @a =null 
 set @b ='g2'
 set @c ='g3'
 select coalesce(@a,@b,@c)

 set @a =null
 set @b =null
 set @c =null 
 set @d =100

 select coalesce(@a,@b,@c,@d)

SELECT DATENAME(weekday, getdate()) AS ‘Weekday Name’——返回:星期二

SELECT DATENAME(month, getdate()) AS ‘Month Name’  ——–返回:02

 

 

 

SELECT DATENAME(weekday, getdate()) AS ‘Weekday Name’——返回:星期二

     create table A(info1 varchar(30))

insert into A (info1)values('www.maomao365.com')
insert into A (info1)values('猫猫小屋')
insert into A (info1)values('mssql教程专用')
insert into A (info1)values('mssql函数用法简介') 

select HASHBYTES('Md5',info1) as [md5加密], 
HASHBYTES('SHA1',info1) as [SHA1加密],
info1 from A 

truncate table A
drop table A 

3、DATEADD (datepart , number, date
),在向指定日期加上一段时间的基础上,返回新的 datetime 值。

 

 

select DateAdd(MM,2,’2008-8-8′) ————–返回:2008-10-08 00:00:00.000

3、DATEADD (datepart , number, date
),在向指定日期加上一段时间的基础上,返回新的 datetime 值。

select DateAdd(dd,2,’2008-8-8′) ————–返回:2008-08-10 00:00:00.000

select DateAdd(MM,2,’2008-8-8′) ————–返回:2008-10-08 00:00:00.000

select dateadd(hh,-1,getdate()) ————–返回:2009-02-23 12:46:46.450,返回前一个小时的时间

select DateAdd(dd,2,’2008-8-8′) ————–返回:2008-08-10 00:00:00.000

 

select dateadd(hh,-1,getdate()) ————–返回:2009-02-23 12:46:46.450,返回前一个小时的时间

4、DATEDIFF ( date-part, date-expression-1, date-expression-2
)  返回两个日期之间的间隔。

 

  此函数计算两个指定日期之间日期部分的数目。结果为日期部分中等于(date2

4、DATEDIFF ( date-part, date-expression-1, date-expression-2
)  返回两个日期之间的间隔。

  • date1)的有符号的整数值。

  此函数计算两个指定日期之间日期部分的数目。结果为日期部分中等于(date2

 

  • date1)的有符号的整数值。

SELECT datediff( hour, ‘4:00AM’, ‘5:50AM’ )—————————返回: 1

 

SELECT datediff( month, ‘1987/05/02’, ‘1995/11/15’ )——————返回: 102

SELECT datediff( hour, ‘4:00AM’, ‘5:50AM’ )—————————返回: 1

SELECT datediff( day, ’00:00′, ’23:59′ )——————————返回:0

SELECT datediff( month, ‘1987/05/02’, ‘1995/11/15’ )——————返回: 102

SELECT datediff( day,  ‘1999/07/19 00:00’,  ‘1999/07/23 23:59’ )——返回:4

SELECT datediff( day, ’00:00′, ’23:59′ )——————————返回:0

SELECT datediff( month, ‘1999/07/19’, ‘1999/07/23’ )——————返回:0

SELECT datediff( day,  ‘1999/07/19 00:00’,  ‘1999/07/23 23:59’ )——返回:4

SELECT datediff( month, ‘1999/07/19’, ‘1999/08/23’ )——————返回:1

SELECT datediff( month, ‘1999/07/19’, ‘1999/07/23’ )——————返回:0

 

SELECT datediff( month, ‘1999/07/19’, ‘1999/08/23’ )——————返回:1

 实例:查询当天更新的数据

 

 

 实例:查询当天更新的数据

select * from tableName where datediff(dd,F_EditTime,getdate())=0

 

 

select * from tableName where datediff(dd,F_EditTime,getdate())=0

 

 

5、**DATEPART ( datepart,date )**返回代表指定日期的指定日期部分的整数。

 

–今天是2009-2-24 星期二
SELECT DATEPART(year,getdate()) as ‘Year’    ——–返回:2009

5、**DATEPART datepart ,date )**返回代表指定日期的指定日期部分的整数。

SELECT DATEPART(month,getdate()) as ‘Month’   ———返回:2

–今天是2009-2-24 星期二
SELECT DATEPART(year,getdate()) as ‘Year’    ——–返回:2009

SELECT DATEPART(weekday,getdate()) as ‘Weekday’ ———返回:3,如:Sunday = 1、Saturday = 7

SELECT DATEPART(month,getdate()) as ‘Month’   ———返回:2

SELECT DAY(getdate())             ———————–返回:24

SELECT DATEPART(weekday,getdate()) as ‘Weekday’ ———返回:3,如:Sunday = 1、Saturday = 7

 

SELECT DAY(getdate())             ———————–返回:24

备注:DAY、MONTH、和 YEAR 函数分别是 DATEPART(dd,
date)、DATEPART(mm, date)、和 DATEPART(yy, date)
的同义词。

 

 

备注:DAY、MONTH、和 YEAR 函数分别是
DATEPART(dddate)、DATEPART(mmdate)、和
DATEPART(yydate) 的同义词。

附录:datepart

 

日期部分 缩写
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

附录:datepart

日期部分 缩写
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

成长,我们一起见证!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图