本篇文章给大家谈谈mysql的casewhen使用,以及mysql的casewhen用法的知识点,同时本文还将给你拓展ASP中用selectcase代替其他语言中的switchcase,default
本篇文章给大家谈谈mysql 的 case when 使用,以及mysql的case when用法的知识点,同时本文还将给你拓展ASP 中用 select case 代替其他语言中的 switch case, default 用 case else、ASP.Net非核心Web API - 将 Camel case 格式的 JSON 答案更改为 Pascal case 引导程序JsonSerializer、case classes & case companion objects & case objects、case class、class 、object 、case object等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- mysql 的 case when 使用(mysql的case when用法)
- ASP 中用 select case 代替其他语言中的 switch case, default 用 case else
- ASP.Net非核心Web API - 将 Camel case 格式的 JSON 答案更改为 Pascal case 引导程序JsonSerializer
- case classes & case companion objects & case objects
- case class、class 、object 、case object
mysql 的 case when 使用(mysql的case when用法)
首先:case when 的表达式是一个值
表 order:
id payment status
要求输出所有列以及 status 对应的 “中文注释”
select t.pay_status,t.create_time,t.prod_total_amt,
(case t.pay_status
when 0 then ''已支付''
when 1 then ''还未支付''
when 2 then ''部分支付''
else ''其他''
end) as status_desc
from tbl_order_main t limit 100
看一篇不错的文章:
http://www.cnblogs.com/john2000/archive/2010/09/21/1832729.html
ASP 中用 select case 代替其他语言中的 switch case, default 用 case else

这篇文章主要介绍了 ASP 中用 select case 代替其他语言中的 switch case, default 用 case else , 需要的朋友可以参考下
asp 中不能用 switch 语句,要用 select case 语句了
简单的介绍一下
选择报表的工作一样,如果语句。然而不同的是,他们可以检查多个值。当然,你有
多个相同的,如果.. else 语句,但是这并不总是最好的方法。
选择语句允许一个程序来计算表达式,并试图匹配表达式的值案件标签。如果找到匹
配,程序执行相关的声明。对于 SELECT 语句的语法如下:
select case expression
case label_1
statements_1
case label_2
statements_2
...
case else
statements_n
end select
该计划首先查找与匹配的表达式的值标签的情况,然后条控制转移到该条款,执行相
关的声明。如果没有找到匹配的标签,程序查找任择案 Else 子句,如果发现,将控制
转移到该条款,执行相关的声明。如果没有 Case Else 子句发现,程序继续执行的声明
后选择结束。利用休息时间,避免因进入下一个代码自动执行。
让我们考虑一个例子:
<%@ language="vbscript">
<%
Dim Flower
Flower = "rose"
select case flower
case "rose"
response.write(flower & " costs $2.50")
case "daisy"
response.write(flower & " costs $1.25")
case "orchild"
response.write(flower & " costs $1.50")
case else
response.write("There is no such flower in our shop")
end select
%>
例子 1、
<%
''/*ASP中用select case代替其他语言中的switch case, default用case else*/
dim today
today = 5
select case today
case 0
str = "星期天"
case 1
str = "星期一"
case 2
str = "星期二"
case 3
str = "星期三"
case 4
str = "星期四"
case 5
str = "星期五"
case 6
str = "星期六"
case 7, 8, 9
str = "today的值是7,8,或9"
case else
str = "未知"
end select
response.write str
response.End()
%>
/*------------输出结果--------
星期五
------------*/
实例 2、
board=request("board")
select case board
case "1"
boardName = "技术版"
case "2"
boardName = "信息版"
case "3"
boardName = "客服星空"
case "4"
boardName = "灌水区"
case "5"
boardName = "市场营销"
case "6"
boardName = "经理论坛"
case "7"
boardName = "影音论坛"
case "8"
boardName = "延伸服务"
case "9"
boardName = "东北片区"
case "10"
boardName = "市场动态"
case "11"
boardName = "群发交流"
case "12"
boardName = "hombre"
case "14"
boardName = "论坛"
case "15"
boardName = "在线答疑"
case else
boardName = ""
end select
注意:case "1" 后面不能有冒号,boardName = "技术版" 后面不能有分号,而且不能出现 break 语句
ASP.Net非核心Web API - 将 Camel case 格式的 JSON 答案更改为 Pascal case 引导程序JsonSerializer
如何解决ASP.Net非核心Web API - 将 Camel case 格式的 JSON 答案更改为 Pascal case 引导程序JsonSerializer
一周前我被介绍到一个已经存在的 C# ASP.Net Web API 项目。它以 JSON 和 Pascal Case 形式返回所有数据,这些数据由使用 React.Js 的网站使用,这些数据区分大小写。
上周,在 API 项目上的提交几乎没有任何变化(它只为解决方案中的 Web 客户端项目添加了翻译)之后,突然该项目开始在 Camel 案例中返回 JSON而不是在 Pascal Case 中。
问题不像 this post,我不发送 API 骆驼而不是 pascal,API 发送骆驼而不是 pascal。
我一直在寻找如何修复它,但该项目有两个特殊性使得很难找到答案:
- 该项目使用 ASP.Net 而不是 ASP.Net Core,使得 this 或 this 之类的帖子没有帮助
- 该项目使用 NancyFx 2.0.0,因此它没有任何启动文件(如核心项目中的启动类或 .asax 文件),但使用自定义引导程序(请参阅下面的代码)
引导程序
public class AppBootstrapper : DefaultNancyBootstrapper
{
protected override void ApplicationStartup(TinyIoCContainer container,IPipelines pipelines)
{
log4net.Config.XmlConfigurator.Configure();
base.ApplicationStartup(container,pipelines);
pipelines.BeforeRequest.AddItemToStartOfPipeline(ctx =>
{
if (ctx != null)
{
Log.Request(ctx.Request.GetHashCode(),ctx.Request.Method,ctx.Request.Path,ctx.Request.UserHostAddress,ctx.Request.Headers.UserAgent);
}
return null;
});
pipelines.AfterRequest.AddItemToEndOfPipeline(ctx =>
{
if (ctx != null)
{
Log.Response(ctx.Request.GetHashCode(),ctx.Response.StatusCode);
}
});
}
protected override void RequestStartup(TinyIoCContainer container,IPipelines pipelines,NancyContext context)
{
pipelines.AfterRequest.AddItemToEndOfPipeline(ctx =>
{
ctx.Response.WithHeader("Access-Control-Allow-Origin","*")
.WithHeader("Access-Control-Allow-Methods","POST,GET,PUT,DELETE,HEAD,OPTIONS")
.WithHeader("Access-Control-Allow-Headers","Accept,Origin,Content-type,Authorization");
});
// Gzip management,useless for this post
}
JsonSerializer
internal class JsonNetSerializer : ISerializer
{
private readonly JsonSerializer _serializer;
/// <summary>
/// Initializes a new instance of the <see cref="JsonNetSerializer"/> class.
/// </summary>
public JsonNetSerializer()
{
_serializer = JsonSerializer.CreateDefault();
}
/// <summary>
/// Initializes a new instance of the <see cref="JsonNetSerializer"/> class,/// with the provided <paramref name="serializer"/>.
/// </summary>
/// <param name="serializer">Json converters used when serializing.</param>
public JsonNetSerializer(JsonSerializer serializer)
{
_serializer = serializer;
}
/// <summary>
/// Whether the serializer can serialize the content type
/// </summary>
/// <param name="mediarange">Content type to serialise</param>
/// <returns>True if supported,false otherwise</returns>
public bool CanSerialize(Mediarange mediarange)
{
return JsonHelpers.IsJsonType(mediarange);
}
/// <summary>
/// Gets the list of extensions that the serializer can handle.
/// </summary>
/// <value>An <see cref="IEnumerable{T}"/> of extensions if any are available,otherwise an empty enumerable.</value>
public IEnumerable<string> Extensions
{
get { yield return "json"; }
}
/// <summary>
/// Serialize the given model with the given contentType
/// </summary>
/// <param name="mediarange">Content type to serialize into</param>
/// <param name="model">Model to serialize</param>
/// <param name="outputStream">Output stream to serialize to</param>
/// <returns>Serialised object</returns>
public void Serialize<TModel>(Mediarange mediarange,TModel model,Stream outputStream)
{
using (var writer = new JsonTextWriter(new StreamWriter(new UnclosableStreamWrapper(outputStream))))
{
_serializer.Serialize(writer,model);
}
}
}
我一直在寻找解决方案,很久以来我发现一些网站在谈论 Owin,但似乎我必须使用基于 owin 的服务器(如 Nowin)来托管 ASP.Net 应用程序。问题是我实际上从未使用过/听说过它,而且我没有时间学习如何使用它。最重要的是,我完全不确定 Nowin 的 Start<TContext>()
函数对于修改 API 的返回格式是否有用...
我发现的所有其他解决方案都适用于 ASP.Net Core 技术,但没有适用于 ASP.Net
case classes & case companion objects & case objects
Features of a case class
- A field for each constructor argument - we don''t even need to write
val
in our constructor definition, although there''s no harm in doing so. - A default
toString
method that prints a sensible contructor-like representation of the class(no more @ signs and cryptic hex numbers" - Sensible
equals
, andhashCode
methods that operate on the field values in the object. - A
copy
method that creates a new object with the same field values as the current one.
Features of a case companion object
- The Companion object contains an
apply
method with the same arguments as the class constructor. - The companion object also contains code to implement an
extractor pattern
for use inpattern matching
.
Case objects
- A case object is defined just like a case class and has the same default methods as a case class.
- The
case object
keyword defines a class and an object, and makes the object an instance of the class. - With a case object we still get all of the functionality defined for case classes above.
Case classes are the
bread and butter of Scala data types
. Use them, learn them, love them.
case class、class 、object 、case object
/* class、object、case class、case object区别
- class 类似Java中的class;
- object Scala不能定义静态成员,用定义单例对象代之;
- case class被称为样例类,是一种特殊的类,常被用于模式匹配。
- 一、class 和 object 关系:
- 1.单例对象不能带参数,类可以
- 2.对象可以和类名一样时,object被称为伴生对象,class被称为伴生类;
- 3.类和伴生对象可以相互访问其私有属性,但是它们必须在一个源文件当中;
- 4.类只会被编译,不会被执行。要执行,必须在Object中。
- 二、case class 与 class 区别:
- 1.初始化的时候可以不用new,也可以加上,但是普通类必须加new;
- 2.默认实现了equals、hashCode方法;
- 3.默认是可以序列化的,实现了Serializable;
- 4.自动从scala.Product中继承一些函数;
- 5.case class 构造函数参数是public的,我们可以直接访问;
- 6.case class默认情况下不能修改属性值;
- 7.case class最重要的功能,支持模式匹配,这也是定义case class的重要原因。
- 三、case class 和 case object 区别:
- 1.类中有参和无参,当类有参数的时候,用case class ,当类没有参数的时候那么用case object。
- 四、当一个类被声名为case class的时候,scala会帮助我们做下面几件事情:
- 1.构造器中的参数如果不被声明为var的话,它默认的话是val类型的,但一般不推荐将构造器中的参数声明为var
- 2.自动创建伴生对象,同时在里面给我们实现子apply方法,使得我们在使用的时候可以不直接显示地new对象
- 3.伴生对象中同样会帮我们实现unapply方法,从而可以将case class应用于模式匹配,关于unapply方法我们在后面的“提取器”那一节会重点讲解
- 4.实现自己的toString、hashCode、copy、equals方法
- 除此之此,case class与其它普通的scala类没有区别
*/
case class Iteblog(name:String)
object TestScala {
def main(args: Array[String]): Unit = {
val iteblog = new Iteblog("iteblog_hadoop")
val iteblog2 = Iteblog("iteblog_hadoop")
println(iteblog == iteblog2)
println(iteblog.hashCode)
println(iteblog2.hashCode)
}
}
今天的关于mysql 的 case when 使用和mysql的case when用法的分享已经结束,谢谢您的关注,如果想了解更多关于ASP 中用 select case 代替其他语言中的 switch case, default 用 case else、ASP.Net非核心Web API - 将 Camel case 格式的 JSON 答案更改为 Pascal case 引导程序JsonSerializer、case classes & case companion objects & case objects、case class、class 、object 、case object的相关知识,请在本站进行查询。
本文标签: