<select>
элемент сгенерирован приложением, и моделирование не является частью спецификации CSS/HTML.
необходимо было бы фальсифицировать его с собственным DIV и наложить его сверху существующего или создать собственное управление, эмулирующее ту же функциональность.
Это должно сработать:
UPDATE TheTable
SET PhoneNumber = SUBSTRING(PhoneNumber, 1, 3) + '-' +
SUBSTRING(PhoneNumber, 4, 3) + '-' +
SUBSTRING(PhoneNumber, 7, 4)
Включено предложение Кейна, вы можете вычислить форматирование телефонного номера во время выполнения. Один из возможных подходов - использовать для этой цели скалярные функции (работает в SQL Server):
CREATE FUNCTION FormatPhoneNumber(@phoneNumber VARCHAR(10))
RETURNS VARCHAR(12)
BEGIN
RETURN SUBSTRING(@phoneNumber, 1, 3) + '-' +
SUBSTRING(@phoneNumber, 4, 3) + '-' +
SUBSTRING(@phoneNumber, 7, 4)
END
Я обычно рекомендую оставить форматирование на усмотрение внешнего кода и просто вернуть данные из SQL как есть. Однако, чтобы сделать это в SQL, я бы рекомендовал вам создать определяемую пользователем функцию для его форматирования. Примерно так:
CREATE FUNCTION [dbo].[fnFormatPhoneNumber](@PhoneNo VARCHAR(20))
RETURNS VARCHAR(25)
AS
BEGIN
DECLARE @Formatted VARCHAR(25)
IF (LEN(@PhoneNo) <> 10)
SET @Formatted = @PhoneNo
ELSE
SET @Formatted = LEFT(@PhoneNo, 3) + '-' + SUBSTRING(@PhoneNo, 4, 3) + '-' + SUBSTRING(@PhoneNo, 7, 4)
RETURN @Formatted
END
GO
Который затем можно использовать следующим образом:
SELECT [dbo].[fnFormatPhoneNumber](PhoneNumber) AS PhoneNumber
FROM SomeTable
Он имеет защиту на случай, если сохраненный номер телефона не соответствует ожидаемому количеству цифр, пуст, равен нулю и т. Д. - он не будет ошибка.
РЕДАКТИРОВАТЬ: Только что синхронизировано, вы хотите обновить существующие данные. Главный момент, который имеет отношение к моему ответу, заключается в том, что вам необходимо защитить себя от «хитрых» / неполных данных (т.е. что, если некоторые существующие значения имеют длину всего 5 символов)