Ich versuche, LPAD-Funktion in SQL Server herauszufinden. Ich habe eine Syntax gefunden, aber das Ergebnis ist nicht das, was ich erwarte. Die Spalten-ID ist definiert als varchar
. Ich möchte die abhängige Zeichenfolge '04130' basierend auf der Länge der ID-Spalte replizieren. Alle Hinweise werden sehr geschätzt. Dieser DankLPAD in SQL Server
SELECT
ID,
RIGHT(REPLICATE('04130', 12)+LEFT(ID, 12), 12) --- (LPAD in sql server)
FROM
S_Information_Tab;
ist die Ausgabe erhalte ich
ID (No column name)
6452 130041306452
6495 130041306495
Dies ist die erwartet Ausgang:
ID (No column name)
6452 041300416452
6495 041300416495
OK, also zunächst replizieren Sie die '04 130 'string 12 mal, geben '041300413004130041300413004130041300413004130041300413004130', dann fügen Sie die ersten zwölf Zeichen der' ID', die '6452' ist, also weniger als 12, so fügen Sie sie alle, so dass Sie' 0413004130041300413004130041300413004130041300413004130041306452', dann nehmen Sie die rechten 12 Zeichen davon, geben Ihnen '130041306452', können Sie erklären, * was Sie wollen * andere als * Ergebnisse ist nicht das, was ich erwarte *? –
Können Sie lieber erklären, was Sie wollen, warum Sie es wollen, welche Regeln folgen dieser Ausgabe? Weil dieser Teil in Ihrer Frage gar nicht klar ist. –
Lasse V. Karlsen macht einen guten Punkt. Wenn Sie Hilfe und Rat benötigen, um Ihre Frage zu formatieren, werfen Sie einen Blick [hier] (http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what- scheint-zu-mir-eine-sehr-einfache-sql-Abfrage) und [hier] (http://stackoverflow.com/help/mcve). –