【发布时间】:2022-01-19 08:26:39
【问题描述】:
我有一个旧的 Phone 表,它有一个长度为 15 的 PhonoNo 列。现在我正在处理电话号码清理任务,在 10 位数字后使用尾随 0。
+----------------+---------------+
| PhoneNo | Desire output |
+----------------+---------------+
|198765432100000 | 1987654321 |
| 198765432100 | 1987654321 |
| 1987653210 | 1987653210 |
| 19876543210 | 1987654321 |
|198765432100100 | 1987654321001 |
| 19876543 | 19876543 |
| 009876543 | 009876543 |
+----------------+---------------+
我正在使用下面的代码,但它对我不起作用。
SELECT PhoneNo, REPLACE(LTRIM(REPLACE(PhoneNo,'0',' ')),' ','0') as NewPhoneNo
FROM tblPhone WITH(NOLOCK)
我正在寻找 SQL Server 中的解决方案,以在不创建任何函数的情况下删除尾随 0。
【问题讨论】:
-
从电话号码中删除尾随的 0?那你就不能再给我打电话了。
-
after 10 digits.?那么为什么98765432100000的所有尾随零都被删除了 -
@Squirrel 已更新问题,谢谢指出。
-
停止使用 WITH(NOLOCK) !
标签: sql sql-server tsql