字符串转换为日期格式时,失败,如何解决~

jy02481727 2019-02-27 11:16:34
有2张表 houtaishuju 和 hetongbianhao

下面的图是表houtaishuju 字段HTBegin的格式是datetime


表hetongbianhao 的hetongrzrq是字符串格式


-----------------------------------
这是写的更新语句
update houtaishuju
set HTBegin=hetongbianhao .hetongrzrq
from hetongbianhao
where houtaishuju .DWID=hetongbianhao .DWID and houtaishuju .MENID=hetongbianhao .MENID
and houtaishuju .MENBH=hetongbianhao .MENBH
但是结果是 从字符串转换日期和/或时间时,转换失败。

-----------------------------------

我想把表hetongrzrq的hetongrzrq字段的内容替换表houtaishuju的HTBegin字段去 但是提示 转换类型失败

请问下这个效果如何实现


...全文
344 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2019-02-27
  • 打赏
  • 举报
回复
检查hetongrzrq表hetongrzrq字段的数据, 应该有非日期类型的值, 如下SQL,

select * from hetongrzrq where isdate(hetongrzrq)=0
丰云 2019-02-27
  • 打赏
  • 举报
回复
良好的代码习惯,事半功倍
丰云 2019-02-27
  • 打赏
  • 举报
回复

UPDATE  s
   SET  s.HTBegin = CONVERT(DATETIME, b.hetongrzrq, 25)
  FROM  houtaishuju   s
       ,hetongbianhao b
 WHERE  s.DWID  = b.DWID 
   AND  s.MENID = b.MENID
   AND  s.MENBH = b.MENBH
jy02481727 2019-02-27
  • 打赏
  • 举报
回复
select hetongrzrq,qtime = (case when len(hetongrzrq) > 8 and charindex('-',hetongrzrq) = 0
then cast(substring(hetongrzrq,1,4) + '-' + substring(hetongrzrq,5,2) + '-' + substring(hetongrzrq,7,2) + ' ' + substring(hetongrzrq,9,2) + ':' + substring(hetongrzrq,11,2) as datetime)
else cast(hetongrzrq as datetime)
end)
from hetongbianhao

测试时 用这个想查询 还是提示的

从字符串转换日期和/或时间时,转换失败。

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧