【发布时间】:2012-01-19 17:53:12
【问题描述】:
我正在使用 Microsoft SQL Server 2008。
我想检查从 A 到 Z 的所有字母,特殊字符,例如:“:”和“-”,以检查表中一列中的值。
我可以计算出“:”和“-”。如何计算 A 到 Z 之间的值?
我尝试了类似的方法,但它没有为我执行替换选项。
INSERT INTO Employee (Name, PhoneNo, Sal) VALUES ('Joe Wang', '666 2323', 222222222);
INSERT INTO Employee (Name, PhoneNo, Sal) VALUES ('John Doe','666 2323', '2G23:22-2' );
UPDATE dbo.Employee
SET Sal = REPLACE(REPLACE(Sal,'-',''), ':', '')
WHERE Sal LIKE '%:%' OR Sal LIKE '%-%' OR Sal LIKE '%[A-Z]%';
我得到的“Sal”值为:222222222 和 2G23222
字母不会被替换。
我在网上检查了正则表达式模式,并得到了从 A 到 Z 的所有字母的 [A-Z]。我的 sql 是不是在某个地方出错了? 如果我替换为 [0-9] 也不起作用。
请帮忙。 谢谢。
【问题讨论】:
标签: sql database sql-server-2008