首页 > 数据库 >Sqlserver中使用ISNULL、CAST、CASE完成对jsTree数据的查询

Sqlserver中使用ISNULL、CAST、CASE完成对jsTree数据的查询

时间:2023-03-11 22:31:51浏览次数:42  
标签:CASE VARCHAR Sqlserver selected pid CAST id


场景


在上面中使用的查询jsTree数据的语句为:

SELECT
id,
ISNULL(
CAST (
pid AS VARCHAR ( 50 )),
CAST (
'#' AS VARCHAR ( 50 ))) parent,
icon,
text,
num,
org_classify,
is_top_level,
CASE
WHEN id = #{selectedId}
THEN 1
ELSE 0
END selected,

opened,
disabled,
creator,
modifier
FROM
sys_enterprise_org
WHERE
is_delete = 0
ORDER BY
id ASC

实现

解读:

1.ISNULL(a,b)

如果左边为空就用右边代替。

在树形结构中如果是顶级结构则pid即负极节点为空,所以使用#代替。

2.CAST (pid AS VARCHAR ( 50 ))

是类型转换,将左边的类型转换成右边的类型。

3.CASE
  WHEN id =   #{selectedId}
  THEN 1
  ELSE 0
END selected,

类似于switch case 语句

当id =   #{selectedId} 时返回1,否则返回0,将返回值作为selected的值。

标签:CASE,VARCHAR,Sqlserver,selected,pid,CAST,id
From: https://blog.51cto.com/BADAOLIUMANGQZ/6115097

相关文章

  • P4 tutorials实验 - Qos, multicast
    P4tutorials实验-Qos,multicastQoS背景知识DifferentiatedServices,区分服务,是基于类的、实现QoS的一种技术,diffserv对网络流量进行分类和管理实验部分实验链接......
  • CaseStudy规范
    CaseStudy规范概括什么情况要写:线上问题客诉数量超过3个,并且RD操作回滚或发版修复了此问题谁来写:推动或操作回滚、发版修复了此问题的RD复盘时间要求:故障在处理结束后,3......
  • SQLServer2016 AlwaysOn数据库重新加入可用性组
    SQLServer2016AlwaysOn架构,主副本SQLServer服务重启  SQLServer主副本SQLServer重启服务之后,AlwaysOn......
  • SQLSERVER单机安装配置
    安装配置SQLserver2017版本软件包mssql-server-14.0.3238.1-19.x86_64.rpmmssql-tools-17.4.1.1-1.x86_64.rpmmsodbcsql-13.1.9.2-1.x86_64.rpmmsodbcsql17-17.4.2.1-1.x86......
  • showcase专用卸载工具,完全彻底卸载删除干净showcase各种残留注册表和文件的方法和步骤
    showcase专用卸载工具,完全彻底卸载删除干净showcase各种残留注册表和文件的方法和步骤。如何卸载showcase呢?有很多同学想把showcase卸载后重新安装,但是发现showcase安装到......
  • 接口自动化–自动编写自动化case
    接口自动化–自动编写自动化case工作以来遇到和接触到很多的自动化测试框架。无论是什么样的自动化测试框架或者是自动化测试平台原理是基本是一致的。都是通过驱动测试用......
  • mybatis异常 java.lang.ClassCastException: com.sun.proxy.$Proxy445
    此类异常处理:java.lang.ClassCastException:com.sun.proxy.$Proxy445cannotbecasttocom.xxx.**MapperBridgeApplication启动类的注解没有扫描到对应的Mapper文......
  • Deployment、ReplicaSet、ReplicationController控制器
    kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制pod的具体状态和行为。部分控制器类型如下:ReplicationController、ReplicaSet、Deployment......
  • C# 数据类型转换(Casting)
    C#数据类型转换(Casting)C#中,经常可以遇到类型转换的场景,从变量的定义到复制、数值变量的计算到方法的参数传递、基类与派生类间的造型等,随处可见类型转换的身......
  • .Net6 使用log4net将日志写入SqlServer
    第一步:引用Nuget包System.Data.SqlClient第二步:修改log4net.config配置文件增加appender节点注意,要将日志写入数据库需先创建数据库与日志表用于存放日志,不然日志有了......