首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除数据输出的第一个字符

删除数据输出的第一个字符
EN

Stack Overflow用户
提问于 2019-10-03 15:02:14
回答 3查看 92关注 0票数 0

早上好,我需要删除空值和从字符字段输出的第一个字符,其值如下: NULL、A12345、A123456、A123456789、6-10之间的字节。

是否有一种将isnull和right(len并发)结合起来的方法?这是首选的方法,因为需要在下游进行一些额外的数据编译,myColum-1将作为主键使用。

对此尝试了多个变体,但没有成功,也使用了字符串,并产生了语法错误。

代码语言:javascript
复制
select isnull(right([my column],''len[my column]-1)  [my column]

这将删除空值。

代码语言:javascript
复制
[my column] = isnull([my column],'') 

但这不会删除第一个字符。

代码语言:javascript
复制
right([my column], len([my column]-1) [my column]
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-10-03 15:24:46

您的查询应该如下所示:

代码语言:javascript
复制
SELECT ISNULL(RIGHT([Value], LEN([Value])-1), ' ') AS NewValue FROM MyTable

您可以从这里检查执行情况:

SQL Fiddle

MS Server 2017架构设置

代码语言:javascript
复制
 CREATE TABLE MyTable
            (ID int,
            Value varchar(max),
            )

INSERT INTO MyTable (ID,Value)VALUES(1,NULL)      
INSERT INTO MyTable (ID,Value)VALUES(2,'A12345')      
INSERT INTO MyTable (ID,Value)VALUES(3,'A123456')      
INSERT INTO MyTable (ID,Value)VALUES(4,'A123456789')      

查询1

代码语言:javascript
复制
select ISNULL(right([Value], len([Value])-1), ' ') [Value] from MyTable

结果

代码语言:javascript
复制
|     Value |
|-----------|
|           |
|     12345 |
|    123456 |
| 123456789 |
票数 0
EN

Stack Overflow用户

发布于 2019-10-03 15:19:02

错括号问题,这应该是可行的。

代码语言:javascript
复制
right([my column], len([my column])-1) [my column]

也可以使用STUFF函数

代码语言:javascript
复制
STUFF([my column], 1,1,'') [my column]
票数 3
EN

Stack Overflow用户

发布于 2019-10-03 15:23:11

尝尝这个,

代码语言:javascript
复制
right([my column], len([my column])-1) [my column]

-1的位置错了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58221891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档