简体   繁体   English

修剪列中不一致的值

[英]Trimming inconsistent values in a column

I have such an issue.我有这样的问题。

On column namely t.DC has sometimes other values after the number for example在列上,即 t.DC 有时在数字后有其他值,例如

01 ROYAL

40 ABC

Trying to see if there is anything that can erase those names after digits leaving just the numbers there.尝试查看是否有任何东西可以删除数字后的这些名称,只留下数字。

select t.Chain, t.DC, t.Item#

FROM t

When I try to write like this "当我尝试这样写时“

 CASE WHEN t.DC IN (01, 02, 08, 21, 22, 30, 32, 40, 55, 62) THEN t.DC ELSE '01' END AS DC" 

I am getting an error " Conversion failed when converting the nvarchar value '21 CE' to data type int."我收到错误消息“将 nvarchar 值‘21 CE’转换为数据类型 int 时转换失败。”

Well you could try something like this:那么你可以尝试这样的事情:

SELECT t.Chain,
       CASE WHEN t.DC LIKE "DC%" THEN SUBSTRING(t.DC, 3, 2)
            WHEN t.DC LIKE "[0-9][0-9]%" THEN LEFT(t.DC, 2)
       END AS DC,
       t.Item
FROM t

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM