SQLServer中DateTime转换成Varchar
最近一段时间,在修改两个数据库(使用sql server),要求相同表相同字段的类型要一致。
一,问题呈现
A,B两个数据库都有table1,table1中都有diaocrq字段(原来是datetime类型),A库把daocrq改成了varchar,B库也无脑的跟着把daocrq改成了varchar,导致B库中原来的数据错乱
公司使用的是easyui,原来的调查日期字段是存时间的,只存到年月日,表中的数据格式改变导致页面回显出现异常
二,解决方法
在网上查了一下sql server常用时间格式
发现把时间类型改变成字符串时,sql server 默认把时间转成第一种形式,只需要把原来的格式转成easyui认可的格式即可。
使用sql update一下
sql: update table1 set diaocrq=CONVERT(varchar(100),cast(diaocrq as datetime), 23)
执行后查看表中数据
再看一下页面
三,收获了什么
1,表字段类型的修改,要考虑原来的数据会变成什么样,
如datetime转成varchar默认使用CONVERT(varchar(100), GETDATE(), 0)转换。
2,后台数据的修改对前端使用框架的影响
在修改数据格式时,要问问前端框架是否同不同意你这样做,easyui-date框只认 年-月-日的格式