gpt4 book ai didi

sql-server - 在sql中查找字符串长度而不从零开始

转载 作者:行者123 更新时间:2023-12-01 08:27:39 25 4
gpt4 key购买 nike

我有一个问题,我正在从 excel(.csv) 文件上传员工代码和帐号,我将检查员工代码并更新或插入相应员工代码的帐号。但是如果员工代码以“0”开头,csv文件不会考虑0,只发送剩余的字符,所以当我在sql中检查时,它将与表数据(员工代码)不匹配。

我有一个匹配他们的计划,但我不知道该怎么做。

我已尝试以下查询

declare @EmployeeCodeNET varchar(max)='MJ300'; 
declare @EmployeeCodeDB varchar(max)='00MJ300';


select LTRIM(REPLACE(@EmployeeCodeDB, '0', ''))--It should return 'MJ300'

最佳答案

如果不需要空格,那么您所需要的接近就是您所需要的:

declare @EmployeeCodeDB varchar(max)='00MJ300';

select REPLACE(LTRIM(REPLACE(@EmployeeCodeDB, '0', ' ')),' ','0')

即把所有0替换成空格,然后(LTRIM)去掉所有前导空格,再把所有空格替换成0s(因此,所有未处于领先位置的原始 0s 都被还原)

结果:

MJ300

如果您的字符串中可能存在空格并且它们不是必需的,但它们不应该神奇地变成 0s,那么您可以替换内部 @EmployeeCodeDB另一个替换:REPLACE(@EmployeeCodeDB,' ','')

关于sql-server - 在sql中查找字符串长度而不从零开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30257340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com