sql - 如何删除表中特定列的第一个字符?

标签 sql sql-server string tsql

在 SQL 中,如何删除表中特定列值的前 4 个字符?列名称为 Student Code,示例值为 ABCD123Stu1231。 我想从表中删除所有记录的前 4 个字符

请指导我

最佳答案

SELECT RIGHT(MyColumn, LEN(MyColumn) - 4) AS MyTrimmedColumn

编辑: 为了解释一下,RIGHT 有 2 个参数 - 要操作的字符串(或列),以及要返回的字符数(从字符串的“右侧”开始)。 LEN 返回列数据的长度,我们减去四,以便我们的 RIGHT 函数将最左边的 4 个字符留在“后面”。

希望这是有道理的。

再次编辑 - 我刚刚读了安德鲁的回复,他的解释很可能是正确的,而我可能是错误的。如果是这种情况(并且您想要更新表而不仅仅是返回修改后的结果),您可以这样做:

UPDATE MyTable
SET MyColumn = RIGHT(MyColumn, LEN(MyColumn) - 4)

他的思路是正确的,但他的解决方案将保留字符串开头的 4 个字符,而不是丢弃这 4 个字符。

关于sql - 如何删除表中特定列的第一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/982819/

相关文章:

sql - View 与索引 View 或物化 View 的区别

c - 如何定义宏以将连接的 char 字符串转换为 C 中的 wchar_t 字符串

mysql - SQL 重新生成 ID 以保持自动递增

sql - 如何创建 SELECT 查询 FROM "TABLE1 AND TABLE2"

c# - 通过 C# 使用 ado.net 将值插入 SQL Server 数据库

sql - 将 NULL 日期时间转换为空白

c - 根据字符位置将字符串分成两部分

Python 正则表达式 : exclude\r\n

mysql如何按用户定义的顺序排序/按字段上的项目数排序

php - 尝试从 mysql 数据库获取信息时,SQL 语句在 php 中不起作用