MS-SQL中,在CASE判断时可不可以将int类型转换为Varchar类型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS-SQL中,在CASE判断时可不可以将int类型转换为Varchar类型相关的知识,希望对你有一定的参考价值。
参考技术A 1,int类型转换varchar类型,不需要强制转换,可隐式转换:SELECT CASE 1 WHEN '1' THEN '可以转换' ELSE '不可以转换' END
2,cast转换方式:
SELECT CASE CAST(1 AS VARCHAR(10)) WHEN '1' THEN '用CAST转换成功' ELSE '用CAST转换失败' END
3,convert转换方式:
SELECT CASE CONVERT(VARCHAR(10),1) WHEN '1' THEN '用CONVERT转换成功' ELSE '用CONVERT转换失败' END本回答被提问者采纳 参考技术B 可以用cast(字段 as varchar)就可以
Scala:将case类序列化为JSON,备用名称
有什么方法可以将Scala案例类序列化为JSON并且能够提供自定义序列化名称吗?
例如,在Java中,这可以使用Gson库完成:
public class SomeClassWithFields {
@SerializedName("name") private final String someField;
private final String someOtherField;
public SomeClassWithFields(String a, String b) {
this.someField = a;
this.someOtherField = b;
}
}
我尝试在Scala中这样做:
case类SomeClassWithFields(@SerializedName(“name”)someField:String)
但似乎没有效果。
有什么想法吗 ?
答案
你可以用spray-json调用jsonFormat overloads来做到这一点。
以下是它如何与您的示例一起使用:
import spray.json._
case class SomeClassWithFields( someField:String)
object SomeClassJsonProtocol extends DefaultJsonProtocol {
implicit val someClassFormat = jsonFormat(SomeClassWithFields,"name")
}
另一答案
是的,可以做到。这是如何做:
case class SomeClassWithFields(@(SerializedName @scala.annotation.meta.field)("name") someField:String)
语法很奇怪(注意外部'@'包装了“SerializedName”和scala字段注释)但它工作正常。查看更多详情:https://issues.scala-lang.org/plugins/servlet/mobile#issue/SI-8975
以上是关于MS-SQL中,在CASE判断时可不可以将int类型转换为Varchar类型的主要内容,如果未能解决你的问题,请参考以下文章