首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SELECT SELECT CASE语句

SELECT SELECT CASE语句
EN

Stack Overflow用户
提问于 2012-03-16 00:34:53
回答 3查看 15.4K关注 0票数 1

有没有办法在SELECT部分中使用CASE语句来执行select INTO?在将数据转换到新表中之前,我需要做一些数据转换。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-16 00:44:39

好的。在这里,#test被复制到#testnew,其中case语句在每个值以‘f’开头的项目前添加一个*:

代码语言:javascript
复制
create table #test(id int, item1 varchar(10), item2 varchar(10))
insert into #test values(1,'foo','bar')
, (2,'fud','fudge')
go

select t.id
, item1=case when left(item1,1)='f' then '*'+item1 else item1 end
, item2=case when left(item2,1)='f' then '*'+item2 else item2 end
into #testnew
from #test t
go

select * from #testnew;
go

drop table #test;
drop table #testnew;
go

结果:

代码语言:javascript
复制
id          item1       item2
----------- ----------- -----------
1           *foo        bar
2           *fud        *fudge
票数 1
EN

Stack Overflow用户

发布于 2012-03-16 00:38:39

是的,您可以:

代码语言:javascript
复制
SELECT CASE SourceField WHEN 1 THEN 'Yes' ELSE 'No' END AS SourceField
INTO DestinationTable
FROM SourceTable
票数 3
EN

Stack Overflow用户

发布于 2012-03-16 00:38:57

是。请确保为该列命名。还要确保将Case语句的值强制转换为显式类型,以避免出现问题。

代码语言:javascript
复制
SELECT
    Cast((
        Case(ID)
            When (1) Then 'Text'
            Else NULL
        End) as varchar(50)
    ) as NewColumn
INTO #TempTable
FROM MyTable
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9724094

复制
相关文章

相似问题

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