格式化现有SQL数据?

时间:2011-12-28 15:50:12

标签: sql sql-server

我有一张包含联系信息的表格,我想将电话号码从5555555555更改为(555)555-5555。

我在网上发现了一些用于选择数据并以该格式返回数据的内容,但无法实际更新记录以使用新格式。这甚至可能吗?

3 个答案:

答案 0 :(得分:4)

在db中执行此操作是一种不好的做法。好的做法是将原始数据存储在数据库中,并在选择时将其格式化,甚至更好 - 当您向用户显示此数据时。

答案 1 :(得分:2)

update YourTable
set PhoneNumber =
    '(' + LEFT(PhoneNumber, 3) +
    ') ' + SUBSTRING(PhoneNumber, 3, 3) +
    '-' + RIGHT(PhoneNumber, 4)

这将使用您指定的正确格式更新您的数据。这适用于 SQL Server ,但我不能代表任何其他RDBMS。

答案 2 :(得分:0)

如果您想将旧数据格式传输到新数据格式,只需执行循环读取单元格,将其更改为您喜欢的格式并将其存储回单元格中。

string NewString;
NewString = "(" + TheOriginalString.Substring(0,3) + ") ";
NewString += TheOriginalString.Substring(3,3) + "-";   
NewString += TheOriginalString.Substring(6);

然后将新字符串存储在同一个单元格中 示例代码在C#中。