首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取默认SQL的空值

获取默认SQL的空值
EN

Stack Overflow用户
提问于 2021-06-30 18:16:07
回答 2查看 46关注 0票数 0

我有一个表与候选人的详细资料,其中插入base64图像作为个人资料图片。当我从表格中获得大量的候选人名单时,头像图片占用了太多的空间。我有一个默认的base64图片作为个人资料图片,为那些不上传个人资料照片。我想要的是采取null,如果个人资料图片是默认的候选人。我的查询是这样简单的,

代码语言:javascript
复制
select 
    Name,
    DOB, 
    case when profilepic is default then NULL else profile pic 
from candidates

代码显示使用default时出现错误,但当我使用null代替DEFAULT时,代码工作正常

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-30 18:26:24

大致是这样的:

代码语言:javascript
复制
select 
Name
,DOB
,case when profilepic = (SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS  WHERE COLUMN_NAME='profilepic' and TABLE_NAME='candidates') then NULL else profilepic END 
from candidates

您可能需要对suqbuery进行一点解析。

票数 1
EN

Stack Overflow用户

发布于 2021-06-30 19:46:34

应该更高效,如下所示:

代码语言:javascript
复制
SELECT Name, DOB,
       CASE WHEN profilepic = T.COLUMN_DEFAULT 
                THEN NULL 
            ELSE profilepic 
       END 
FROM   candidates
       CROSS APPLY (SELECT COLUMN_DEFAULT 
                    FROM   INFORMATION_SCHEMA.COLUMNS  
                    WHERE  COLUMN_NAME = 'profilepic' and 
                           TABLE_NAME = 'candidates' and
                           TABLE_SCHEMA = 'dbo' ) AS T

假设您的表位于SQL Server数据库默认架构(dbo)中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68192854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档