微雨新晨 2021-08-31 17:32 采纳率: 0%
浏览 76

sql表,判断是否是日期类型

table
【日期】字段
内容包含:2021-1-21,-,试用期离职
怎么将字段中的非日期都去掉,【日期】字段仅包含日期?

以下是MySQL代码段:

#drop table if exists aa;
create temporary table aa as (select * from (select '-' as 入职日期 Union all select '2021-08-041'union all select '2021-08-25'union all select '1234567890'union all select '培训期离职'union all select '2099-9-9' union all select '1900-1-1')t);
select * from aa;
#尝试判断非日期数据
select *,length(date(入职日期)) from aa; #where length(date(入职日期)) is null;
select * from aa where length(date(入职日期)) is null;
#更新非日期数据为null
update aa set 入职日期='' where length(convert(date(入职日期),datetime)) is null;
######最后这个update报错了。。。。提示“Incorrect datetime value: '-'

##以下是报错截图(同上)
img

  • 写回答

3条回答 默认 最新

  • longdrake 2021-08-31 17:44
    关注

    可以看这字段内容是否是同一格式的,查找出第一个逗号的位置,再截取前面的内容,就是日期了。

    评论

报告相同问题?

问题事件

  • 修改了问题 9月1日
  • 创建了问题 8月31日

悬赏问题

  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 arbotix没有/cmd_vel话题
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?