• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:数値を文字型に変換する時の書式設定が思い通りにできず悩んでいます。【訂正】)

数値を文字型に変換する方法について

このQ&Aのポイント
  • 数値を文字型に変換する方法について悩んでいます。OracleではTO_CHAR関数を使用して指定の書式で変換することができますが、SQLServer2000では異なる結果が得られてしまいます。
  • 例えば、Oracleでは指定の桁数に満たない部分には「0」をセットすることができますが、SQLServer2000では左側が半角スペースになってしまい、「0」をセットすることができません。
  • SQLServer2000で数値を文字型に変換する方法をご存知の方がいらっしゃれば、教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#140971
noname#140971
回答No.1

ID  Field_1 1   123.1 2   1000.12 3   -123.01 SELECT Left('-', PATINDEX('%-%', str(Field_1)) / (PATINDEX('%-%', str(Field_1))-1)) + Left('+', PATINDEX('%-%', str(Field_1 * -1)) / (PATINDEX('%-%', str(Field_1 * -1))-1)) + Right('0000000000' + convert(varchar(11),abs(field_1)),11) FROM Test ---|(expession) | ---|-------------  1|+00000123.10|  2|+00001000.12|  3|-00000123.01| しかし、面倒くさいです。 表示する際の書式で解決すれば簡単かと思いました。

KURO_0720
質問者

お礼

貴重なご回答を賜り誠にありがとうございました。 最終的にはSQLServerから、+00000123.10 の形でテキスト形式(タブ区切り形式)に出力するのが目的なのですが、「表示する際の書式で解決」することはできますでしょうか。 「Field_1」の属性としては以下のものがあります。  ・smallinit型  ・int型  ・money型  ・float型  ・decimal型

関連するQ&A