SQL Serer2Kでの文字列操作で質問なのですが
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGます
MDBで簡単にデータ加工ができたクエリーがSQL Serverのビューになり融通がきかな
く困っております
質問に答えていただけませんでしょうか?
環境はWin2K,SQL Server2Kです。
以下条件
クラスコード varchar(2)
クラスコード例データ(1)
生徒コード smallint
生徒コード例データ(99)
実現したい出力結果は
クラスコードを2桁で元の値が2桁に満たない場合、元数字の前の桁に「0」を入れた
い
「1」 > 「01」
生徒コードを4桁で元の値が4桁に満たない場合、元数字の前の桁に「0」を入れたい
「99」 > 「0099」
二つの数列を結合し「010099」という数列をビューとして出力したい
というかたちです。私が詰まってしまったのは下記のスクリプトで
「1_99__」(アンダースコアはスペース)と左詰でかつ、「0」で埋めることができ
ない状態です。
私の上司は絶対にできない、と言っていたのですが・・・
仕様上できなければあきらめますが、助言のほういただけると大変助かります
よろしくお願いします
SELECT DISTINCT
CAST(クラスコード AS char(2)) + CAST(生徒コード AS char(4)) AS 別名1
FROM dbo.生徒マスタ
GROUP BY 生徒コード, クラスコード
0002三村
NGNG0003デフォルトの名無しさん
NGNG短く書いたら
「条件や環境を詳しく書け厨房」
とか言うくせに(藁
00041
NGNG短くまとめれば良かったですね・・・
0005デフォルトの名無しさん
NGNGジサクジエーン
00061
NGNG待ってください
ちがいます (^_^;
0007デフォルトの名無しさん
NGNG/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ < 知らねえよ
( ´_ゝ`) \________
/ \
/ /\ / ̄\
_| ̄ ̄ \ / ヽ \_
\ ̄ ̄ ̄ ̄ ̄ ̄ \__)
||\ \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
|| || ||
0008デフォルトの名無しさん
NGNGright('00' + convert(varchar(4),生徒コード),4)
from 生徒マスタ
>二つの数列を結合し「010099」という数列をビューとして出力したい
の質問のいみがよ〜わからん。文字列に変換してつなげるだけじゃないか。
>私の上司は絶対にできない、と言っていたのですが・・・
アホか、今から俺の部下になれ。
00098
NGNG必ずしも2桁とは限らん。上限は4桁でいいんだな。
right('000' + convert(varchar(2),生徒コード),4)
従って
select right('0' + クラスコード,2)
+ right('000' + convert(varchar(4),生徒コード),4)
from 生徒マスタ
で
010099
が出力される。
SQLの質問のスレで質問しなさい。
00108
NGNG後の例の方が正しい
right('000' + convert(varchar(4),生徒コード),4)
眠い。ねる。
■ このスレッドは過去ログ倉庫に格納されています