Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 从SQL Server 2008的varchar字段中删除单个字符_Sql Server 2008_Tsql - Fatal编程技术网

Sql server 2008 从SQL Server 2008的varchar字段中删除单个字符

Sql server 2008 从SQL Server 2008的varchar字段中删除单个字符,sql-server-2008,tsql,Sql Server 2008,Tsql,我有一个表,其中有几个varchar列,除了一个句点()之外,这些列几乎与另一个表中的主键相同。我看过T-SQL中的replace函数,但第一个参数不是表达式。如何使用SQL删除特定字符的所有匹配项?似乎正确的答案可能是用零长度字符串替换。很近吗 对于那些认为问题没有显示出研究成果的人来说,这主要是由于对文档本身的误解。是否要删除该问题的所有实例。从绳子上?如果是这样的话,您关于REPLACE的看法是正确的: DECLARE @Example TABLE ( Value VARCHAR(

我有一个表,其中有几个
varchar
列,除了一个句点(
)之外,这些列几乎与另一个表中的主键相同。我看过T-SQL中的
replace
函数,但第一个参数不是表达式。如何使用SQL删除特定字符的所有匹配项?似乎正确的答案可能是用零长度字符串替换。很近吗


对于那些认为问题没有显示出研究成果的人来说,这主要是由于对文档本身的误解。

是否要删除该问题的所有实例。从绳子上?如果是这样的话,您关于
REPLACE
的看法是正确的:

DECLARE @Example TABLE
(
    Value VARCHAR(100)
)
INSERT @Example (Value)
VALUES ('Test.Value'), ('An.otherT.est')

SELECT
    REPLACE(Value, '.', '')
FROM
    @Example

-- Replace only the first '.'
SELECT
    STUFF(Value, CHARINDEX('.', Value, 0), 1, '')
FROM
    @Example

编辑,使示例更有用,因为我一直在使用它,我不妨发布示例。:)

您可以使用列值上的
REPLACE
直接更新表格:

UPDATE myTable
SET myColumn = REPLACE(myColumn, '.', '')

您正在查看哪些文档?的第一个参数是字符串表达式。请参见处的
Replace
fn,我将msdn文档字符串表示为字符串文字,主要是因为提供的示例没有使用列。谢谢。@Oded也许他们被MSDN文档中的字符串表示搞糊涂了也许你应该读一下。。。
update your_table
set some_column = replace(some_column, '.', '')