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, '.', '')