如何在sql中编写案例语句 [英] How to write case Statements in sql

查看:74
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆