lrzy
--字符串函数 

--1,len和datalength函数 
declare @a varchar(50),@b char(30) 
select @a = \'成都cd\',@b=\'gocean\' 
--select @a as 姓名 
print @a 
print len(@a) 
print datalength(@a) 
print @b 
print len(@b) 
print datalength(@b) 

--2,substring,right,left 
declare @a varchar(50) 
set @a = \'microsoft\' 
print substring(@a,2,3) 
print right(@a,4) 
print left(@a,5) 

--3,trim,rtrimm,ltrim 
declare @a nvarchar(30),@b nchar(30) 
set @a = \'     dog\' 
set @b = \'     dog\' 
print len(@a) 
print rtrim(@a) 
print ltrim(@a) 
print len(rtrim(@a)) 
print len(ltrim(@a)) 
print datalength(@a) 
print datalength(@b) 

--char varchar 在存储英文字符和数字的时候都按一个字节存储 


--4,ascii,char 
declare @a varchar(10),@b int 
set @a = \'abc\' 
set @b = 48 -- 0-9 :48-57, a-z:97-122 
print ascii(@a) --返回字符串表达式中最左侧的字符的ASCII码值 
--print ascii(@a) + \'12\' 
--print ascii(SUBSTRING(@a,len(@a),1)) 
--print ascii(right(@a,1)) 
print char(@b)  --将整型的ASCII码值转换为字符 

--5,nchar,unicode 
declare @a nvarchar(10),@b int 
set @a = \'xyz\' 
set @b = 49 -- 0-9 :48-57, a-z:97-122 
print unicode(@a) --返回字符串表达式中最左侧的字符的unicode码值 
print nchar(@b)  --将整型的unicode码值转换为字符 

--6,lower upper 
declare @a varchar(20),@b char(30) 
set @a = \'micRosofT\' 
set @b = \'MicroSoFt\' 
print @a 
print lower(@a) 
print @b 
print upper(@b) 


--7,charindex 返回字符串中制定表达式的开始位置 
select \'开始位置\' = charindex(\'计算机\',\'成都金海洋计算机科技发展有限公司\') 
--select charindex(\'计算机\',\'成都金海洋计算机科技发展有限公司\') 开始位置 
declare @strIndex varchar(20) 
set @strIndex = \'成都金海洋计算机科技发展有限公司\' 
select charindex(\'计算机\',@strIndex) 开始位置1,charindex(\'计算机\',\'成都金海洋计算机科技发展有限公司\') 开始位置2 

--8,space(返回重复的空格组成的字符串), replicate(以指定的次数重复表达式) 
select replicate(\'*\',10),space(10),replicate(\'SQL Server\',2),space(10),replicate(\'*\',10) 
print replicate(\'*\',10) + space(10) + replicate(\'SQL Server\',2) + space(10) + replicate(\'*\',10) 

--9,reverse 反转字符串 
declare @a varchar(30) 
set @a = \'Microsoft\' 
print @a 
print reverse(@a) 

--10,stuff 替换字符串 
declare @a varchar(50) 
set @a = \'你好,四川\' 
print stuff(@a,4,1,\'成都\') 
print stuff(@a,4,2,\'成都\') 
print stuff(@a,4,5,\'成都\') 

--11,replace 
select replace(\'我想去中国\',\'中国\',\'成都\') as 目的地 

--12,quotename 
select quotename(\'hello\',\'{}\') 
select quotename(\'hello\',\'[]\') 
select quotename(\'hello\') 

--13, str(浮点表达式,[长度,[小数]])    其中长度包括小数点,符号,数字和空格,长度默认值为10,小数默认位数为0 
declare @a int,@b decimal(4,2) 
set @a = 25 
set @b = 36.59 
--print @b 
print str(@a,len(cast(@a as varchar(30)))) 
--print str(@a,len(cast(@a as varchar(30))),0) 
print str(@b,5,2) 
print len(str(@a)) 
print len(str(@b,5,2)) 


--日期函数 

--1,getdate year,month,day 
select getdate(),year(getdate()),month(getdate()),day(getdate()) 
    
--2,datediff    返回值为integer类型 
select \'gocean的年龄是:\' + cast(datediff(yy,\'1996/10/03\',getdate()) as char(2)) + \'岁\' as 信息 --根据生日取多少岁 
select datediff(yy,\'1982/11/23\',getdate()) 
select datediff(mm,\'1982/11/23\',getdate()) 
select datediff(dd,\'1982/11/23\',getdate()) 

--3,datename 
print datename(yy,getdate())--年 
print datename(mm,getdate())--月 
print datename(dd,getdate())--日 

print datename(hh,getdate())--时 
print datename(mi,getdate())--分 --print datename(n,getdate()) 
print datename(ss,getdate())--秒 
print datename(ms,getdate())--毫秒    
print datename(hhmmss,getdate()) 

Select CONVERT(varchar(100), GETDATE(), 24)--取日期 
Select CONVERT(varchar(100), GETDATE(), 23)--取时间 
--1900-01-01 02:30:00.000 

Select cast(\'15:30\' as datetime) --自动加上1900-01-01 
Select len(CONVERT(varchar(100), cast(\'1900-01-01 02:30:00.000\' as datetime), 24)) --长度 
Select CONVERT(varchar(100), cast(\'1900-01-01 02:30:00.000\' as datetime), 24) --取日期 
select CONVERT(varchar(10), getdate(), 120)--取日期 

select cast(\'1900-01-01 02:30:31.000\' as smalldatetime) --smalldatetime精确到1分钟,大于等于30秒,向分钟进1分钟,小于30秒舍去 


print datename(w,getdate())--星期几 
print datename(dw,getdate())--星期几 
print datename(ww,getdate()) --当前年的第多少周 


print datename(qq,getdate())-- 刻钟 
print datename(y,getdate()) -- 当前年的第多少天 
print datename(dy,getdate()) --当前年的第多少天 



--4,datepart 
print datepart(yy,getdate())--年 
print datepart(mm,getdate())--月 
print datepart(dd,getdate())--日 

print datepart(hh,getdate())--时 
print datepart(mi,getdate())--分 --print datepart(n,getdate()) 
print datepart(ss,getdate())--秒 
print datepart(ms,getdate())--毫秒    

print datepart(w,getdate())--星期几 
print datepart(dw,getdate())--星期几 
print datepart(ww,getdate()) --当前年的第多少周 


print datepart(qq,getdate())-- 刻钟 
print datepart(y,getdate()) -- 当前年的第多少天 
print datepart(dy,getdate()) --当前年的第多少天 


--系统综合函数 
select newid(),host_id(),host_name(),user_name() 
--版本查询 
select @@version 
select @@version,@@servername,@@servicename,@@language,@@max_connections 
SELECT    SERVERPROPERTY(\'productversion\'), SERVERPROPERTY (\'productlevel\'), SERVERPROPERTY (\'edition\') 


declare @a varchar(30) 
set @a = \'1241242\' 
declare @b int 
set @b = convert(int,@a) 
--set @b = cast(@a as int) 
print @b 



--数学函数 
print pi() 
print power(2,3) 
print sin(30*pi()/180) 
print abs(-20) 
print sqrt(2) 
print sqrt(9) 
print rand() 

  

分类:

技术点:

相关文章:

  • 2021-10-07
  • 2021-11-06
  • 2021-12-12
  • 2021-08-02
  • 2021-12-15
  • 2021-11-22
  • 2021-09-08
  • 2021-11-06
猜你喜欢
  • 2021-04-07
  • 2021-09-08
  • 2021-10-07
  • 2021-09-08
  • 2021-08-31
  • 2021-09-08
相关资源
相似解决方案