sql 中刚学的几个小函数

1、convert()函数;

转换数据转换格式

convert(data_type(length),data_to_be_converted,style)

data_type(length) :规定目标数据类型(带有可选的长度);

data_to_be_converted 含有需要转换的值;

style 规定日期/时间的输出格式;

例:

convert(varchar(10),getdate(),110) 

 注:style 在SqlServer中是规定好的,大概二十多种吧,可以自己去搜索一下

此外convert()的style还可用于数字类型,它们对小数与千分位分隔符格式产生影响

例:

declare @num Money  
set @num= 123456.78  
select convert(varchar(50), @num,0) 

 当style为 0 时:

结果为:123456.78

当style为 1 时:

结果为:123,456.78

当style为 2 时:

结果为:123456.7800

2、newid() 

生成一个uuid

 

declare @uuid uniqueidentifier
set @uuid = newid()
print '@uuid 的值是: '+ convert(varchar(255), @uuid)

 结果 @uuid 的值是: 091CEB13-262A-4DB8-A479-264B27BF5EE0

 

3、replace()函数

replace( '目标string' , '要replace的string' , 'replace_string' )

 

很强大,可以用来修改时间格式

select replace('2000-02-30','-','') go

 

输出:20000230 

 

4、isdate()函数;

顾名思义,判断是否是有效的日期

 

5、abs()函数;

求绝对值的

 

 

在最后写一段代码,是关于时间格式的,大家知道SqlServer的时间格式,有的时候在给的那些例子里面是找不到的,例如这其中就没有yyyyMMddhhmmss的

select replace(replace(replace(convert(varchar(100),getdate(),120),'-',''),' ',''),':','') newtime

 将小数点向后移动两位

declare @number int
set @number = 3.1415926
select convert(decimal(38,2),@number*100)

 

 

猜你喜欢

转载自liangbing.iteye.com/blog/2088253