我在数据库中新添一个时间字段 值为null 做一些操作报错 如果把值填为2010-1-1就不没错了 咋解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在数据库中新添一个时间字段 值为null 做一些操作报错 如果把值填为2010-1-1就不没错了 咋解决相关的知识,希望对你有一定的参考价值。

数据库表中字段值已经是null了
如何把数据库的新天的时间字段让它值为1900-1-1 00:00:00

你可以把这个字段设为可以为空,但是值不可以为null,可以为空。如果值为null的话他会当成有值处理,可是Null不是时间格式所有会报错。

添加默认值。使该字段的默认值为‘1900-1-1 00:00:00’就可以了。
参考技术A 新春到来喜事多,合家团圆幸福多;心情愉快朋友多,身体健康快乐多;一切顺利福气多,新年吉祥生意多;祝您好事多!多!多! 加分吧,嘻嘻
4
参考技术B 改成文本字段吧 程序控制时间格式就行了

数据库都可以设置默认值 具体怎么设置 你得说明一下你用的什么数据库

当字段为 NULL 时,TSQL Casting int

【中文标题】当字段为 NULL 时,TSQL Casting int【英文标题】:TSQL Casting int when field is NULL 【发布时间】:2016-02-22 14:54:15 【问题描述】:

我有一个简单的查询,它根据一些数据生成报告。如果字段值为null,我需要在报表上输入N/A的值。

为此,我这样做:ISNULL(proj.projectID, 'N/A) as projectID

这会返回错误:Error: conversion faield when converting the varchar value 'N/A' to data type int

我尝试这样做,但得到了同样的错误:

CAST(ISNULL(proj.projectID, 'N/A) as varchar) as projectID

我怎样才能做到这一点?

【问题讨论】:

您不能在单个列中包含混合数据类型。您要么必须将所有数据转换为 varchar,要么首选选项是将这种类型的格式留给前端。 你应该在ISNULL之前使用CASTISNULL(CAST(projectID AS VARCHAR(50)),'N/A') 【参考方案1】:

你必须在测试 isnull 之前进行转换:

select ISNULL(convert(varchar(50),proj.projectID), 'N/A) as projectID

【讨论】:

我同意 Avitus,应该这样做。错误的意思是它试图使 ISNULL 右侧的内容,即左侧数据类型的“N/A”,即 INT。它不能隐式执行此操作,因此需要您将 ProjectID 显式转换为 varchar,因为您无法将“N/A”显式转换为 int。

以上是关于我在数据库中新添一个时间字段 值为null 做一些操作报错 如果把值填为2010-1-1就不没错了 咋解决的主要内容,如果未能解决你的问题,请参考以下文章

显示 Blazor InputSelect 中的第一个选项,但值为 null

SQL 当表中某个字段的值为NULL。假如这个值为NULL的时候。我想当成0来做减法处理。该怎么弄?

如果 Django postgresql 数据库中 char 字段的值为 null,则表中实际分配了多少空间?

sql怎么在数据库中插入一列数据

当字段为 NULL 时,TSQL Casting int

Java返回值为null时如何避免报错?