Ich habe eine TabelleA, in der PhoneNumber Spalte Werte wie 911234567891 haben. Ich möchte die ersten zwei Ziffern aus dem Start dh 1234567891 entfernen und dann möchte ich es in Telefonnummer Format ändern xxx-xxx-xxxx, so wird das Endergebnis 123-456-7891 sein. Ich habe es schon mit seprate auswählen und aktualisiert Abfrage wie folgt durchgeführt:Entfernen Sie die erste zwei Ziffern und ändern Phonenummer Format SQL
SELECT
[Phone Numbers]
,FORMAT([Phone Numbers],'###-###-####') AS [Formatted Phone]
FROM tbl_sample
UPDATE tbl_sample
SET [Phone Numbers] = SUBSTRING([Phone Numbers], 3, 8000)
WHERE [Phone Numbers] LIKE '91%'
Ist es möglich, sie mit einzelner Auswahlabfrage nur zu tun, so dass es keine Notwendigkeit, die Daten zuerst zu aktualisieren? Jede Art von Hilfe oder Vorschlag wird geschätzt.
Vielleicht möchten Sie eine andere Tabelle mit der formatierten Telefonnummer zu aktualisieren, um die Länge des Wertes zu überprüfen, statt von 91%. Was passiert, wenn die Länge nur 10 Zeichen beträgt und die Ortsvorwahl etwa 913 entspricht? –
Wenn dies nie für eine andere Region verwendet wird, ist es in Ordnung. Obwohl * die * Daten in der Tabelle tatsächlich geändert werden, ist die mögliche zukünftige Addition von asiatischen, europäischen, südamerikanischen usw. Telefonnummern sehr herausfordernd. – wallyk