GVKun编程网logo

mysql 的 case when 使用(mysql的case when用法)

8

本篇文章给大家谈谈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用法)

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

OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代

这篇文章主要介绍了 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

如何解决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

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, and hashCode 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 in pattern 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

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的相关知识,请在本站进行查询。

本文标签: