.net column
.NET開発者のためのブログメディア

機能

SQL Serverで数値と文字列を変換する。0埋めの方法とは?

2020年09月09日

レポートや帳票にデータを転記する際に、数値から文字列に変換することや、逆に文字列を数値に置き換えるなどの対応が必要な場面は、意外と多いのではないでしょうか。アプリケーション側で対応するのもひとつの方法ですが、データベースにSQL Serverを利用しているのならば、ぜひFORMAT関数やCONVERT関数を使ってみてください。

SE
画面からボタン押下でレポート出力する際に、数値項目に文字列が設定されてシステムエラーとなってしまいました。こういったエラーはどうやって回避できますか?
PM
そういう場合には、SQL Sever側で文字列項目を数値項目に変換してあげましょう。FORMAT関数やCONVERT関数が用意されていますので、それらの簡単な使い方を解説していきます。

実行環境
・SQL Server 2018

FORMAT関数とCONVERT関数の基本

■引数の解説

引数 説明
value 文字列に変換したい対象の数値データを設定します
format 標準フォーマット文字列とカスタムフォーマット文字列を指定することができます
culture 通貨などカルチャーによって変換の結果が変わるものに対して設定します

標準フォーマット文字列とは、F: 固定小数点、N:桁区切り記号つき、C: 通貨などがあり、続けて小数点以下桁数を0~99までの数字で指定することが可能なものを指します。

カスタムフォーマット文字列とは、「0:その桁に数字があればその数字を、なければ0が設定される」「#:その桁に数字があればその数字を、なければ空白スペースが設定される」などを指定することが可能なものを指します。

どちらで指定しても元の数値の小数点以下の数字が指定した桁数より多い場合、値は四捨五入されることが注意点として挙げられます。

■引数の解説

引数 説明
type 変換したい型を設定します
value 文字列に変換したい対象の数値データを設定します
style 第3引数を使用する場面は日付に変換する時です。数値と文字列の型変換では使用することはありません

数値から文字列への変換方法

数値から文字列へ変換する方法をFORMAT関数のカスタムフォーマット文字列で確認していきましょう。

実行結果
FORMATによる数値から文字列の変換

実行結果
CONVERTによる数値から文字列への変換

文字列から数値への変換方法

文字列から数値へ変換する場合はCONVERT関数のみが使用可能です。以下で使い方を確認していきましょう。

実行結果
CONVERTによる文字列から数値への変換

数値を0埋めする方法

次に、数値を前0で埋める方法(ゼロパッティング)も紹介します。数値を文字列に型変換を行った際には、0で埋めて桁数を揃えるといった場面があるかもしれません。ぜひこの機会に0埋めの方法も理解しておくことをおすすめします。

実行結果
0埋めの結果

SE
型変換が簡単に行えました。0埋めの方法もバッチリです。これからは型変換でエラーにならないように対処していきます!
PM
型変換でのシステムエラーは意外と多いです。しっかりとデータベース側でFORMAT関数やCONVERT関数を活用して、型変換の考慮は行っておきたいところですね。

数値と文字列の変換は多くの場面で必要となってきます

アプリケーション開発を行う上で、型変換を必要とする場面は多いのではないでしょうか。その中でも今回解説した、数値と文字列の変換は必ずといえるほど出てきます。
SQL Serverでは、FORMAT関数やCONVERT関数など便利な型変換関数が用意されていますので、上手に使いこなして、型変換エラーなどが発生しないように対処しましょう。また、合わせて0埋めの方法も覚えておくと便利です。

>>>SQL Serverの案件を探すならFEnet .NET Navi


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags