722090000
のようなデータで構成されるzipcode
(varchar(10)
)の列としてaddress
という名前のテーブルがあります。郵便番号の先行ゼロ
テーブルには〜10000個のレコードがあります。 0を追加するように列を更新したいのですが、このようなレコードの場合のみ - 0722090000
- 長さが5より大きい。
どうすればよいですか?
722090000
のようなデータで構成されるzipcode
(varchar(10)
)の列としてaddress
という名前のテーブルがあります。郵便番号の先行ゼロ
テーブルには〜10000個のレコードがあります。 0を追加するように列を更新したいのですが、このようなレコードの場合のみ - 0722090000
- 長さが5より大きい。
どうすればよいですか?
MySQLを使用している場合は、あなたの使用してMicrosoft SQL Serverは、その後LEN()
UPDATE address
SET zipcode = '0' + zipcode
WHERE LEN(zipcode) > 5
いくつかの郵便番号は、先行ゼロの2つを必要とします –
を使用する場合は、あなたはLENGTH()方法を必要とします。渡された文字列の長さを返します。 例:SELECT LENGTH('text');
は4
を返します。
あなたは、次のクエリが必要です
UPDATE address SET zipcode = '0' + zipcode WHERE length(zipcode) > 5
をそして、あなたはMS SQLを使用している場合は、ジョンHartsockは、彼の答えで述べたように、あなたがLEN()方法
あなたの返信のためのTHanks ... – user922161
@ user922161投稿された回答があなたを助けたら、それを受け入れたとマークしてください。 – reggie
を使用することができますが、全体の10個の文字をしたいですか常に満たされる?したがって、郵便番号が '123456'の場合、 '000'に変わりますか?その場合、データベースがサポートしている場合はこれを使用できます。
UPDATE address
SET zipcode = RIGHT('0000000000' + zipcode, 10)
WHERE LEN(zipcode) > 5
それ以外の回答は問題ありません。
次の例では、整数のゼロを設定できます。私は通常、5または10のいずれかを使用し、既存の数字の周りに予備のゼロを記入します。
UPDATE
[address ]
SET
[zipcode] = RIGHT('00000' + LTRIM(RTRIM([zipcode])), 5)
どのデータベースサーバーを使用していますか、MS SQL Server、MySQLなど...? –