
update 是更新,convert是转换
update 表 set 字段1='a',字段2=‘b’ where 条件1=‘c’
convert(类型1,字段1,格式1) 注:格式非必填
那就直接这样
update loginuser set password= null
你写的这个语句只是转换类型,并非清空
''是char类型的 而你的类型是binary 所以不行
CONVERT(nvarchar, syjjtznZNCSRQ, 112) 将syjjtznZNCSRQ 的日期类型转换为nvarchar型
112 转换出来的数据格式为 : '20120419’
120 转换出来的数据格式为 : '2012/04/19 00:00:00‘
111 转换出来的数据格式为 : '2012/04/19’
108 转换出来的数据格式为 :'00:00:00‘
还有很多你可以在网上看看
如果sql
server程序员想将表达式从一种换为另一种,他可以从sql
server
7和2000中自带的两种功能中做出选择。在存储过程或其他情况下,我们常常需要将数据从datetime型转化成varchar型;convert和cast就可以用于这种情况。
由于sql
server提供两种功能,因此应该选择哪种功能或应该在哪种情况下使用该功能就很容易让人困惑了。convert是专对sql
server使用的,使日期与时间值,小数之间转换具有更宽的灵活性。
cast是两种功能中更具ansi标准的功能,即虽然更具便携性(比如,使用cast的函数能更容易的被其它数据库软件使用),但功能相对弱一些。不过,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用cast。因此,我建议首先使用cast,如果遇到必须使用convert的情况时再使用convert。
cast和convert还能联合使用,达到特殊的效果。比如,在current
date下生成char变量一般使用以下方法:
select
convert(char(10),
current_timestamp,
102)
(102表明使用了ansi日期模式,即yymmdd型)
然而,如果你希望将这个变量明确生成为datetime或smalldatetime变量,以此在特定的数据库栏中兼容,那么你可以使用以下语句:
select
cast(convert(char(10),current_timestamp,102)
as
datetime
返回值将是
yymmdd
00:00:00(如12:00am作为时间戳;
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)