SQL Server CASE和CONCAT创建新字符串

ztyzrc3y  于 2022-11-21  发布在  其他
关注(0)|答案(1)|浏览(125)

我 无法 确定 如何 为 以下 内容 运行 良好 的 查询 :
需要 将 Char 和 int 值 连接 起来 以 生成 新 的 ComponentStored 列 ,

"Inventory" Table"
| Component | Storage | ComponentStored
| -------- | -------- |
| 'ALPHA'   | 13429   | 'ALP-1349'
| 'BETA'   | hi-2436  | 'BET-hi-2436'

中 的 每 一 个
但是 它 只能 用于 上述 两 个 选项
我 编写 当前 sql 的 目的 如下 :

SELECT Col1, Col2, 
CASE ComponentStored
    WHEN 'ALPHA' THEN 'ALP-' + LTRIM(STR(Component))
    WHEN 'BETA' THEN 'ALP-' + LTRIM(STR(Component))
    ELSE Component

格式
然而 , 当 我 关闭 查询 时 , 错误 似乎 总是 指向 具有 布尔 运算 符 的 情况 ? ? 希望 我 能 找到 更 平滑 的 解决 方案 。
感谢 您 的 帮助 ! ! !
已 尝试

SELECT Component, StorageLocation, 
CASE NEW COL
    WHEN 'ALPHA' THEN 'ALP-' 
    WHEN 'BETA' THEN 'BETA-' 
    ELSE Component
END

格式
预期 的

| Component | Combined column |
| -------- | -------- |
| ALPHA   | ALP-12304   |
| BETA  | BET-D3892   |

格式

cuxqih21

cuxqih211#

不要使用查询编辑器/设计器,它有许多解析和显示问题...只需在SSMS查询窗口中编写查询。
你大概是在找

select case when component in ('Alpha','Beta') 
  then Concat(left(Component,3), '-', Storage) 
  else Component end as ComponentStored

相关问题