回答

收藏

SQL Server-选择最后一个连字符后的所有字符的子字符串

技术问答 技术问答 442 人阅读 | 0 人回复 | 2023-09-12

我正在使用产品数据库,试图从ID$ h9 t" t& m2 d
/从颜色代码组合列中提取产品颜色,其中颜色代码始终是连接字符后的最后一个字符串。问题是连接字符和产品ID颜色代码的数量可以不同。
9 D% C* F( t/ n& B四个例子:1 b, L# ^' R( N, q3 y1 r1 k
ABC123-001BCD45678-0165S-XYZ999-M2235A-S-ABC123-001在这种情况下,颜色代码65,M2235,001。选择自己列的最佳方法是什么?
1 w* ?$ h1 Z( T" g* \                                                               
7 w, H0 ]3 \% V' n- {. `2 g  d8 i    解决方案:                                                               
: K* I* {$ p8 @& }                                                                我认为以下是你想要的:0 Q  V. J. l4 G8 W5 z" X
select right(col,charindex('-',reverse(col)) - 1)如果您的值中可能没有连接字符,请使用它case:
7 h0 U- q/ {" c8 v, {! I3 ^& {select (case when col like '%-      then right(col,charindex('-',reverse(col)) - 1)          else col        end)
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则