如何在sql中编写案例语句 [英] How to write case Statements in sql
本文介绍了如何在sql中编写案例语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
DECLARE @ SEARCH_STR NVARCHAR ( 4000 )
选择 @ SEARCH_STR = ' '
set @ SEARCH_STR = ' column1 ,column2,column3,column5,column4
case Column = 1然后'一个'
当Column6-2'两个'
end column7
where column8 = 10
在此声明中无法编写案例陈述,建议我如何在
字符串语句中写出案例。
解决方案
你缺少报价 -
选择 @ SEARCH_STR = ' '
set @ SEARCH_STR = '
column1 ,column2,column3,column5,column4
case
当Column6 = 1然后''One''
当Column6 = 2然后''two''结束column7
其中column8 = 10'
不是100%肯定你在问题中的意思,但我将提供基本的CASE语法。请注意这是针对SQL SERVER(MSSQL)的,对于任何其他版本的SQL我都不正确。
SQL SERVER:
CASE
WHEN 表。列 = 1 THEN ' Value 1'
WHEN 表。列 = 2 那么 ' Value 2 '
WHEN 表。列 = 3 那么 ' Value 3'
ELSE ' 任何其他值'
END
无论您尝试在SQL Server中进行动态查询,写入动态查询时都应该非常小心;我将分享您的示例动态查询,请参考此项并在您的项目中实施。
创建 表 #tab
(
id varchar ( 100 ),
firstname varchar ( 100 ),
姓氏 varchar ( 100 ),
addres < span class =code-keyword> varchar ( 1000 )
)
插入 进入 #tab
值( 1 ,' naveen',' s',' SSD dsdds'),( 2 ,' hhhhh',' s',' ssddsdds'),( 3 ,' karthick',' h',' sfdsf'),( 4 ,' pawan',' k',' sdasdffs')
选择 id,firstname,lastname,addres, case when id = 1 ' 一个' 结束 来自 #tab
声明 @ search NVARCHAR ( 4000 )
set @ search = ' select id,firstname ,姓氏,地址,id = 1时的情况,然后''一端'来自#tab'
打印( @ search )
exec ( @ search )
DECLARE @SEARCH_STR NVARCHAR(4000)
Select @SEARCH_STR = ''
set @SEARCH_STR= 'column1,column2,column3,column5,column4
case when Column6=1 then 'One'
when Column6-2 the 'two'
end column7
where column8=10
in this statement iam unable to write case statement, suggest me how to write case in
string statements.
解决方案
You are missing quotes -
Select @SEARCH_STR = '' set @SEARCH_STR= ' column1,column2,column3,column5,column4 case when Column6=1 then ''One'' when Column6=2 then ''two'' end column7 where column8=10'
Not 100% sure what you mean in your question but i will provide the basic CASE syntax. Please note this is for SQL SERVER (MSSQL) and my be incorrect for any other version of SQL.
SQL SERVER :
CASE WHEN Table.Column = 1 THEN 'Value 1' WHEN Table.Column = 2 THEN 'Value 2' WHEN Table.Column = 3 THEN 'Value 3' ELSE 'Any other Value' END
Whatever you tried that is dynamic querying in SQL Server while write dynamic querying you should be very careful; I will share you the sample dynamic query, please refer this and implement the in your project.
create table #tab ( id varchar(100), firstname varchar(100), lastname varchar(100), addres varchar(1000) ) insert into #tab values(1,'naveen','s','ssddsdds'),(2,'hhhhh','s','ssddsdds'),(3,'karthick','h','sfdsf'),(4,'pawan','k','sdasdffs') select id, firstname, lastname, addres, case when id = 1 then 'One' end from #tab Declare @search NVARCHAR(4000) set @search='select id, firstname, lastname, addres, case when id = 1 then ''One'' end from #tab ' Print(@search) exec(@search)
这篇关于如何在sql中编写案例语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文