--函数共有四个参数,其功能是将expression1_Str中自startIndex位置起删除lengthInt个字符,
--然后将expression2插入到expression1_Str中的startIndex位置。
Stuff(expression1_Str,startIndex,lengthInt,expression2_Str)
select stuff('aaa',1,0,'1224777')
select stuff('444',2,2,'8888')
--返回近的整数(判断总页数经常会用到它)
select ceiling(13*1.0/12) -- 2
select ceiling (12.1) --13
select ceiling(12*1.0 /12)--1
--用指定的符号将前面的字符括起来
select quotename('aaa','{')--{aaa}
select quotename('456','<')--<456>
--去掉字符串右边空格
select rtrim(' ss s ')--' ss s'
select ltrim(' ww ') --'ww '
select ltrim(rtrim(' 7896 s ')) --'7896 s'
--返回当前字符在后面字符串当中的下标
select charindex('s','458s')--4
select charindex('9','458s')--0
--前面的字符是否与后面的字符全匹配,如果匹配返回所以位置,
select patindex('ss','ssss');-- 0
select patindex('123','123') --1
select patindex('123ss','123') --0
--将小写字母转换为大写字母
select upper('sss')--SSS
--将大写字母转换为小写字母
select lower('AA双') -- aa双
--颠倒一组字符的顺序
select reverse('abcew') -- wecba
select reverse('123456789')--987654321
--将指定的字符替换中特定的字符
select replace('uioop','o','2') --ui22p
select replace('uioop','','2') --uioop
--返回指定长度的空白字符串
select space(9) --' ' 长度为9空白字符
select space(3)--' ' 长度为3的空白字符
--数据类型转换 cast(要进行转换的值 as 具体数据类型)
select cast(122+15 as numeric(12,1)), convert(varchar(10),getdate(),120)
select cast('a'+'b'as varchar(1)) --a
select cast('a'+'b'as varchar) --ab
--得到日期的年份
select year(getdate()) -- 2009
--得到日期的月份
select month(getdate()) -- 7
--返回日期的天
select day('2006-11-05') --5
--两个日期之差有'年/月/日/时/分/秒'的差别
select datediff(year,'2004-02-18',getdate())--相差5年
select datediff(yy,'2004-02-18',getdate())--相差5年
--month m mm
select datediff(month,'2004-02-18',getdate())--相差65个月
select datediff(m,'2004-02-18',getdate())--相差65个月
select datediff(mm,'2004-02-18',getdate())--相差65个月
--day d y
select datediff(day,'2004-02-18',getdate())--相差1963天
select datediff(d,'2004-02-18',getdate())--相差1963天
select datediff(y,'2004-02-18',getdate())--相差1963天
--hour hh
select datediff(hour,'2004-02-08',getdate())--相差 47362 小时
select datediff(hh,'2004-02-08',getdate())--相差 47362 小时
-- minute mi
select datediff(minute,'2006-02-15 12:15:14','2006-02-15 12:28:24')--相差13分钟
select datediff(mi,'2006-02-15 12:15:14','2006-02-15 12:28:24')--相差13分钟
-- ss s
select datediff(ss,'2006-02-15 12:15:14','2006-02-15 12:16:24')--相差70秒
select datediff(s,'2006-02-15 12:15:14','2006-02-15 12:16:24')--相差70秒
select datediff(DAY,convert(datetime,'2006-02-05'),getdate())
SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0) -- 2009-01-01 00:00:00.000 本年的第一天
select DATEDIFF(YY,1,GETDATE())--109
--替换指定的字符串 :
--expression1_Str 参数
--char1 被替换的字符 (该字符可以在expression1_Str当中出现,也可以不出现)
--char2 要替换 char1的字符
--replace(expression1_Str,char1,char2)
select replace(convert(varchar(12),getdate(),23),N'-0',N'-')--2009-7-4
--结合cast datename dateparet返回形式为"2009年7月4日"的日期格式
select cast(cast(datename(yy,getdate()) as varchar)+'年'+cast(datepart(month,getdate()) as varchar)+'月'+cast(datename(day,getdate()) as varchar)+'日' as varchar) AS CurrDate
--判断传递的参数是否为正确的日期型
select isdate(getdate()) --1
select isdate('2006-29-15') --0
select isdate('2006-9-15') --1
--判断参数是否为NULL并进行处理,如果为NULL返回后面的参数,如果不为NULL则返回该参数
select isnull('123',1) -- 123
select isnull(null,1) --1
--判断该参数是否数字 是返回 1 不是数字返回 0
select isnumeric('-1236.14569') --1
select isnumeric('-123ssss6.14569') --0
--判断两个字符串是否相等,相等返回NULL,不相等则返回第一个参数的值
select nullif('123','123456') --123
select nullif('123','123') -- null
select cast('13' as decimal)
--这些函数不能执行
select int('14')
select datetime(getdate())
select find('11111','4')
select APP_NAME()
--找出表TableName当中字段ColName的长度
--执行此语句时必须在该表所属 的数据库当中执行并用字段和表名都要正确
select col_length('TableName','ColName')--6
--(datalength)返回字符串的长度包括所有空格
--(Len)返回字符串的长度不包括后面空格
select datalength('123')--3
select Len('123')--3
select datalength(' 123 ')--5
select Len(' 123 ')--4
select datalength(N'123 ')--8
select Len(N' 123 ')--4
select datalength(N'123')--6
select Len(N'123')--3
select datalength(N'456 ') -- 8
select Len('123 ')--3
select
select Len(N'123 ')--3
select host_id()
select host_name()
select identity(int ,1,1) AS SN , Name, sex,folk
into #Temp
from (
select '王兴如' As name,'男' As sex ,'汉族' AS folk
union all
select '刘渊源' As name,'女' As sex ,'土族' AS folk
union
select '马秀良' As name,'女' As sex ,'苗族' AS folk
) As c
select * from #Temp
drop table #Temp
select newid()