我试图在 case 语句中连接两个字段,其中我只想要第二个字段的右侧 10 个字符。第一个字段是 25 个字符的 varchar 字段 (twfcompID);第二个字段是文本字段 (t.TransNotes)。我想最终得到看起来像 497-2059--281369.pdf 的东西。这是我的语法不起作用。
(Case
WHEN l.TWFCompID = 'FCLMIL' THEN
CAST(m.MatterID AS VARCHAR(100)) + '--' +
RIGHT(CAST(t.TransNotes,10) AS VARCHAR(100))
WHEN l.TWFCompID like 'f-%' THEN
CAST(m.MatterID AS VARCHAR(100)) + '--' + (right(t.TransNotes,10) AS VARCHAR(100))
WHEN l.TWFCompID like 'FS-%' THEN
CAST(m.MatterID AS VARCHAR(100)) + '--' + CAST(right(t.TransNotes,10) AS VARCHAR(100))
ELSE '' END) AS 'LineItemID',
当我运行它时,我收到错误消息:Msg 1035,Level 15,State 10,Line 5 'CAST' 附近的语法不正确,预期为 'AS'。