Oracle空字符串/ NULL

马可

我必须编写一条对MS SQL Server和Oracle有效的SQL SELECT语句。我必须使用旧的客户数据库,因此我无法更改数据库设计中的任何内容。

问题是表中有一个可为空的列“ project”,这是一个varchar,在某些情况下,该字符串用空字符串填充-由oracle转换为NULL。那么,如何选择所有具有NON空“项目”的列?

WHERE project IS NOT NULL                   works for oracle
WHERE project <> ''                         works for MS
WHERE project IS NOT NULL AND project <> '' works for MS, but not for Oracle

谢谢,Marko

超级立方体

因为该条件'' = ''仅在SQL-Server中才成立('' IS NOT NULL等效),并且该条件'' IS NULL仅在Oracle中才成立,所以可以使用以下命令:

WHERE ( project > '' AND '' = '')              -- for SQL-Server
   OR ( project IS NOT NULL AND '' IS NULL)    -- for Oracle

请注意,如果您的值仅是空格,则在SQL-Server和Oracle之间将以不同的方式对待它们。测试SQL-Fiddle-1(Oracle)SQL-Fiddle-2(SQL-Server)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Oracle SQL使用空字符串更新NOT NULL列

来自分类Dev

Java空字符串等于NULL

来自分类Dev

Java空字符串等于NULL

来自分类Dev

SQL查询用NULL或空字符串ORACLE替换重复项

来自分类Dev

检查空字符串是否为null?

来自分类Dev

为什么在JavaScript中不空字符串== null

来自分类Dev

SQL(Server)NULL或空字符串仍在此处

来自分类Dev

ng-model:空字符串应为null

来自分类Dev

如何使用OpenCSV区分空字符串和null

来自分类Dev

以html格式将空字符串更新为NULL

来自分类Dev

将JoinColumn中的空字符串视为null

来自分类Dev

MySQL十进制空字符串/ null(Meekrodb)

来自分类Dev

使用libpqxx库插入NULL /空字符串

来自分类Dev

Json转换空字符串而不是null

来自分类Dev

SQL Server用空字符串替换null

来自分类Dev

SQL Server:NULL还是空字符串?

来自分类Dev

MySQL十进制空字符串/ null(Meekrodb)

来自分类Dev

Jersey POJOMappingFeature将null转换为空字符串?

来自分类Dev

如果日期为NULL,则显示空字符串

来自分类Dev

在Mac上将空字符串作为NULL插入MySQL

来自分类Dev

始终将NULL排序为空字符串或0

来自分类Dev

SQL Server用空字符串替换null

来自分类Dev

在mysql中将NULL值与空字符串进行比较

来自分类Dev

返回空字符串而不是 Null

来自分类Dev

加载 tempView 时空字符串显示为 null

来自分类Dev

在 XML 变量中用 NULL 替换空字符串

来自分类Dev

反转屏幕,包括 null 和空字符串

来自分类Dev

将C样式字符串初始化为NULL与空字符串之间的区别

来自分类Dev

如何在Scala中简洁地用默认字符串替换空字符串(或null)