select * from Tb1 where EnName like '%100/%%' escape '/' //中间包含了100%,使用了转义字符'/',escape定义转义字符
数据类型转换:
CAST改变值得数据类型:
English2= cast(enlish as nvarchar(20)) //将enlish2(列的名称)转换为nvarchar(20),原来的列enlish木有改变,显示转换
CONVERT: (以不同格式显示日期)
select CONVERT(nvarchar(20),GETDATE(),102) as time//三个参数,把日期类型转换为字符类型
select CONVERT(datetime,'2012-04-14 07:25:07') as timeq//把字符类型转换为日期类型
实例:
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
可以使用的 style 值:
Style ID |
Style 格式 |
100 或者 0 |
mon dd yyyy hh:miAM (或者 PM) |
101 |
mm/dd/yy |
102 |
yy.mm.dd |
103 |
dd/mm/yy |
104 |
dd.mm.yy |
105 |
dd-mm-yy |
106 |
dd mon yy |
107 |
Mon dd, yy |
108 |
hh:mm:ss |
109 或者 9 |
mon dd yyyy hh:mi:ss:mmmAM(或者 PM) |
110 |
mm-dd-yy |
111 |
yy/mm/dd |
112 |
yymmdd |
113 或者 13 |
dd mon yyyy hh:mm:ss:mmm(24h) |
114 |
hh:mi:ss:mmm(24h) |
120 或者 20 |
yyyy-mm-dd hh:mi:ss(24h) |
121 或者 21 |
yyyy-mm-dd hh:mi:ss.mmm(24h) |
126 |
yyyy-mm-ddThh:mm:ss.mmm(没有空格) |
130 |
dd mon yyyy hh:mi:ss:mmmAM |
131 |
dd/mm/yy hh:mi:ss:mmmAM |
去除尾部空格:
select rtrim(' ye y ') as new//去除右边的空格
select ltrim(' ye y ') as new//去除左边的空格
截取字符长度:
select SUBSTRING('夜莺教程网cdcjkjbdsbcdujskbkdsv',2,7) as title//截取从2开始的,长度为7个字符
插入字符:
select STUFF('yyu的网住四',1,3,'sdf')//从1开始,删除3个字符串,把sdf从1开始插入
select STUFF('yyu的网住四',1,0,'sdf')//从1开始插入,不删除
字符长度:
select LEN('sasdgsdg')
大小写转换:
select LOWER('sagdhjfdADAGDAD') as title
select UPPER('sagdhjfdADAGDAD') as title
select*,Lower(Name) as newNAME from Tb1//将表Tb1中的Name列全部转换为小写
字符替换:
select Replace ('sghfdsf网 夜莺教程网硅谷动力网 qwsacsc','网','*')//将网替换为*,replace替换字符串
select CHARINDEX ('-','0281-8888888')//获取-在字符中的位置,charindex查找字符在字符串中的位置
select SUBSTRING('0281-8888888',CHARINDEX('-','0281-8888888')+1,20)//截取-后面的字符
日期相关的函数:
select GETDATE() as time//获取系统的当前时间
select YEAR(GETDATE()) as year
select month(GETDATE()) as month
select day(GETDATE()) as day
select CONVERT(nvarchar(20),GETDATE(),8)//只取时间
select datepart (HH,getdate()) as minute//截取当前时间的分钟数,datepart截取时间的部分
select DATENAME(DW,GETDATE())//今天星期几,返回指定时间的指定部分
select DATENAME(WW,'2012-05-05')//2012-5-5是一年中的第几周