【问题标题】:Removing strings from a varchar column in SQL server [duplicate]从 SQL Server 中的 varchar 列中删除字符串 [重复]
【发布时间】:2020-06-09 05:28:24
【问题描述】:

我有一列定义为 varchar。 sql server 中是否有任何功能可用于仅具有列的数值并从中删除任何其他字符。

例如: 123abc -- 123

ab12c --12

ab45c? --45

【问题讨论】:

  • 解决了吗?我无法添加答案,因为主题已关闭。
  • 如果没有,我将提供我在我的 sp 中使用的函数
  • 该问题已作为副本关闭,@samir。您不能为已关闭的问题添加答案。如果您确实想提供您的答案,最好选择一个标记的重复项(其中一个是一个非常活跃的问题)。

标签: sql-server


【解决方案1】:

你可以试试这个:

DECLARE @temp TABLE
(
    string NVARCHAR(50)
)

INSERT INTO @temp (string)
VALUES 
    ('123abc'),
    ('ab12c'),
    ('ab45c?')

SELECT SUBSTRING(string, PATINDEX('%[0-9]%', string), PATINDEX('%[0-9][^0-9]%', string + 't') - PATINDEX('%[0-9]%', 
                    string) + 1) AS Number
FROM @temp

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 2021-04-19
    • 1970-01-01
    • 2018-03-23
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 2023-03-10
    相关资源
    最近更新 更多