在SQL CASE语句中设置前缀

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQL CASE语句中设置前缀相关的知识,希望对你有一定的参考价值。

我在case语句中设置前缀时遇到问题。

数据集:

missionid:
5505
5506


select
CASE
WHEN m.EXTLOCATIONID is not null THEN '01' + convert(nvarchar(50),m.missionid) 
ELSE tg.ID_ACTIVITY
END as Barcode2
from MISSION m
left join TASKGROUP tg with(nolock) on m.MMPICKLISTID = tg.ID

当我运行此查询时,我的结果是这样的:

Barcode2: 
15505
15506

期望的结果是这样:

015505
015506

正如人们所看到的,结果中没有显示第一个零。我该如何实现?

答案

CASE表达式将始终返回一种类型,因此,您需要进行对话:

CASE WHEN m.EXTLOCATIONID is not null 
     THEN '01' + convert(nvarchar(50), m.missionid) 
     ELSE CONVERT(VARCHAR(255), tg.ID_ACTIVITY)
END as Barcode2

以上是关于在SQL CASE语句中设置前缀的主要内容,如果未能解决你的问题,请参考以下文章

在 Ansible/Jinja2 中设置 var 的 case 语句

UPDATE语句pyodbc在sql server中设置NULL值(而不是None)

在片段中设置文本颜色

请教如何在Report Builder 中设置多个参数

vscode中设置vue代码片段

SQL Select 语句的用法