我有一条SQL语句如下:怎样可以把里面的NULL字段去掉

我有一条SQL语句如下:怎样可以把里面的NULL字段去掉,第1张

SELECT tm,stcd,

(CASE WHEN stcd = '1000' THEN avgv else ‘’ end) AS aaa,

(CASE WHEN stcd = '1001' THEN avgv else ‘’ end) AS bbb,

(CASE WHEN stcd = '1002' THEN avgv else ‘’ end) AS ccc

FROM dboTable_2

一运行,你就懂!

假设表有4个字段为FIELD1-FIELD4

只有有一个字段为空就删除

DELETE

BIAO

WHERE

FIELD1

IS

NULL

OR

FIELD2

IS

NULL

OR

FIELD3

IS

NULL

OR

FIELD4

IS

NULL

所有字段为空才删除:

DELETE

BIAO

WHERE

FIELD1

IS

NULL

and

FIELD2

IS

NULL

and

FIELD3

IS

NULL

and

FIELD4

IS

NULL

第二个问题,看不出您的日期字段格式是什么格式,也没看清您想要什么样的结果,相距的时间是什么?是天,还是月,还是年?

假设您的日期字段是DATETIME类型,我列举了您需求的多种情况:

--如果是要几年或几天或几个月,下面三行分别得到总年数或总月数或总天数(如果是一年就会得到365或366)

select

datediff(year,注册时间,getdate())--总年数(整数)

select

datediff(month,注册时间,getdate())--总月数(整数)

select

datediff(day,注册时间,getdate())--总天数(整数)

--如果是要得到几年和几个月和几天的组合结果(与上面的总数结果不同,这里日不会过31,月不会过12,年月日结果是进位关系),按下面的方法得到.

select

cast(datename(year,getdate()-注册时间)-1900

as

varchar)+'年'

+cast(datename(month,getdate()-注册时间)-1

as

varchar)+'个月'

+cast(datename(day,getdate()-注册时间)-1

as

varchar)+'日'

注意:上面两例中,注册时间是您的字段名,GETDATE()是求出的当前日期和时间,如果是别的什么时间字段,如最后登录时间,直接用登录时间替换GETDATE()就行了.

=====================

sql

server中的空值就是这样的(NULL),您说的,应该即不是空值,也不是零长度的字符串,也不是数值零.

所以,当不是空值时,您必须要告诉我们字段是什么类型的.

如果您的字段是VARCHAR,NVARCHAR或CHAR类型的,

那么可能就有三种情况,

1.是空格.

2.是零长度字串.

3.是不可显示的乱字符.

但无论哪一种情况情况,只要是字符型的,用您的语句都不会报错,就是这一句:

delete

biao

where

field1=''

除非字段或表名有错误.

建议:

如果是字符型字段(VARCHAR,NVARCHAR或CHAR类型等)

delete

biao

where

RTRIM(field1)=''

如果是数值型字段(INT,FLOAT,DECIMAL等类型,甚至日期型)都可以用下面的语句删除0值.

delete

biao

where

RTRIM(field1)=0

就是说:

如果不是空值(NULL),就必须要知道字段是什么类型才能确定语法格式.

====================

==============================

最后提醒您,我费了好长时间回答您的问题,为了使用我们下次还有这么大的积极性,最少要加到200分才行啊!

关系数据库中的NULL值的概念和Java中null的值的概念相似,前者任何类型都可以为null,但是在Java中,基本数据类型不能为null。当要读取一个数据库域赋值给一个基本类型的时候(例如resultSetgetInt(1)),可能会造成问题。这样的例子已经让JDBC规范的制订者开始研究如何解决。

当一个值通过如getInt、getLong、getFloat这样的getXxx方法从数据库中得到后,开发者可以调用wasNull()方法来找出其值是否为null。如果wasNull返回true,那么可以让开发者为基本类型选择使用合适的null值。GetXxx方法获得的值与JDBC的驱动紧密相关。

例如,在某个数据库驱动中,它返回0,另一个也许返回那一列的缺省值,也许还有一个返回驱动在那一列读取的最后一个值。所以当你准备读取数据库中的NULL值的时候,要小心缺省值,你也许需要以下面的习惯编码:

建议用EXCEL来辅助吧,

1、先找出某表中的所有字段名称:select [name] from syscolumns where id = object_id('某表')

2、将查询结果直接复制到Excel中,如下图A列,然后在B1处输入以下公式,然后回车:

 

3、可以看到B1已生成对应的SQL语句了,然后把B1的公式应用至整列B,然后复制B列在数据库中执行一下就OK了。

以上就是关于我有一条SQL语句如下:怎样可以把里面的NULL字段去掉全部的内容,包括:我有一条SQL语句如下:怎样可以把里面的NULL字段去掉、sql数据库delete删除的字段如果为空字符串怎么删除、学会如何处理数据库中的null等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10136079.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存