SQL- 将数字 (0) 添加到现有条目 (Varchar) 的特定位置以将所有条目加长 1

标签 sql sql-update sql-like

我想通过在前两位数字后添加 0 来延长几个事件编号。前两位数字代表年份。前任。我想将 121023 更改为 1201023。因此,我想将所有以 12 开头的事件编号 (Varchar) 更改为以 120 开头,方法是添加 0 以将所有事件编号加长 1。

这是我目前所拥有的:

UPDATE EVENT 
SET EVNT_URI = '***what do I put here?***' 
WHERE EVNT_URI IN(SELECT EVNT_URI FROM EVENT WHERE EVNT_URI LIKE '12%')

我这样做的原因是 12 代表年份,事件编号接近 130000。所有事件编号都是 6 位数字,我想通过在第一个数字后添加零来将它们更改为 7 位数字到代表年份的数字。

最佳答案

update event
set evnt_Uri = evnt_Uri + 1080000
where evnt_Uri between 120000 and 129999

虽然如果这些不是数字,而只是一个由数字字符组成的字符串,有人可能会争辩说它们根本不应该存储为 int

关于SQL- 将数字 (0) 添加到现有条目 (Varchar) 的特定位置以将所有条目加长 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12287106/

相关文章:

sql - 选择..来自(选择..来自..)。如何改进此查询?

sql - 插入旧记录并用新记录替换旧记录

sql - 更新受组影响的所有行

mysql - 执行 MySql 更新非常慢

php - MySql - 从一个数据库更新到另一个数据库

c# - 从源代码在 sql 查询中传递 Request.QueryString 整数值

SQL如何按特殊条件进行分组

php mysql 查询类似(包含)

C# 和 SQL LIKE 条件 : '%' works as single-character wildcard

mysql - NOT LIKE 子句在 SQL 中不起作用