sqlserver2005
文字列のカラム(ただし数字のみ)と、画面から文字列としてきた
数字の大小を比較したいと思っています。
たとえば、WHERE ~ 【対象カラム】 > CONVERT(NUMERIC,'1')のように
しようと思っていたのですが、この場合、【対象カラム】の中に
空白があるとこけてしまいます。
文字列なので、空がNULLとは限らないため困っています。
そもそもINT型のカラムならば良いのですが、都合により文字列の
カラムにするしかなく。
妙案ありましたらアドバイスいただけないでしょうか。
No.2ベストアンサー
- 回答日時:
ちょっとまわりくどいですが
CASE NUMERIC = '' WHEN THEN 0 ELSE CONVERT(NUMERIC,'1') END
と空白NULLチェックすればコケはしないです。
ただし、文字の比較なら思った結果は得られません。
No1の方の指摘どおりになるでしょう
それよりはゼロフィルした値と比較したほうが楽ではないでしょうか?
SUBSTRING('0000000000' + 【対象カラム】 , LEN(【対象カラム】) , 10) > SUBSTRING('0000000000' + NUMERIC , LEN(NUMERIC) , 10);
パフォーマンス無視なので、レコード数が少ないならこれでも大丈夫ですが、
No.1
- 回答日時:
解決策ではないんですが。
> 空がNULLとは限らないため困っています。
isnull([列名], ' ')
を利用するとか。
> 都合により文字列のカラムにするしかなく。
文字列で比較は、順序がおかしくなりませんか?
1~20を数字の文字列にすると
'1'
'11'
'12'
'13'
'14'
'15'
'16'
'17'
'18'
'19'
'2'
'20'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
じゃないですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- UNIX・Linux sedでの正規化 2 2022/05/10 11:39
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- MySQL テーブル作成時のカラムについて 2 2022/08/27 21:48
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- docomo(ドコモ) スマフォで急に文字が小さくなってしまった 4 2023/06/11 10:18
- Excel(エクセル) エクセルで文字列と数字が混在する列に書式設定したい。 3 2022/12/19 09:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GREATESTで NULLをスルーする方...
-
MySQLで先頭にカラムを追加
-
SQLです!!教えてください。
-
一部のカラムでdistinctし全て...
-
頭に0が付く文字
-
カラムをコピーして、新規カラ...
-
Mysql DATE型のDEFAULT値
-
構造が異なる二つのテーブルをu...
-
SQLについて教えて下さい。 SEL...
-
SQLでカラムを追加し、条件に合...
-
SQLで、行ごとのとある要素を比...
-
MYSQLで全てのカラムから検索す...
-
カラムとコラムの使い分け
-
SELECT文で、指定カラム以外の...
-
sql , insert で空行(全ての列...
-
Select文で結合した時に、重複...
-
MySQL5.1でデータがすでに保存...
-
now()かCURRENT_TIMESTAMPか
-
UNIONする際、片方テーブルしか...
-
INDIRECT関数の代替方法は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一部のカラムでdistinctし全て...
-
SELECT文で、指定カラム以外の...
-
now()かCURRENT_TIMESTAMPか
-
UNIONする際、片方テーブルしか...
-
MYSQLで全てのカラムから検索す...
-
GREATESTで NULLをスルーする方...
-
構造が異なる二つのテーブルをu...
-
カラムをコピーして、新規カラ...
-
SQLでカラムを追加し、条件に合...
-
ドロップダウンリストの連動し...
-
カラムとコラムの使い分け
-
sql , insert で空行(全ての列...
-
エクセルかワードで家系図を作...
-
MySQLで先頭にカラムを追加
-
AUTO_INCREMENTに0はダメ?
-
日付を一括UPDATE
-
DBエラーの意味
-
SQLで、行ごとのとある要素を比...
-
ROUND関数で、四捨五入ができな...
-
SQLについて教えて下さい。 SEL...
おすすめ情報