5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

SQL Serer2Kでの文字列操作で質問なのですが

1 :デフォルトの名無しさん:01/09/20 22:06
Acceess XPを採用しSQL Serverにテーブル、クエリーを直接作るADPを作成しており
ます
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 生徒コード, クラスコード

2 :三村:01/09/20 22:14
なげーよ

3 :デフォルトの名無しさん:01/09/20 22:24
>>2
短く書いたら
「条件や環境を詳しく書け厨房」
とか言うくせに(藁

4 :1:01/09/20 22:27
>>2 三村氏
短くまとめれば良かったですね・・・

5 :デフォルトの名無しさん:01/09/20 22:31
>>3=4
ジサクジエーン

6 :1:01/09/20 22:43
>>5
待ってください
ちがいます (^_^;

7 :デフォルトの名無しさん:01/09/20 23:18
>>1
              / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ∧_∧   < 知らねえよ
     ( ´_ゝ`)   \________
    /     \
   / /\   / ̄\
 _| ̄ ̄ \ /  ヽ \_
 \ ̄ ̄ ̄ ̄ ̄ ̄ \__)
  ||\            \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
  ||  ||           ||

8 :デフォルトの名無しさん:01/09/21 01:43
select right('0' + クラスコード,2),
right('00' + convert(varchar(4),生徒コード),4)
from 生徒マスタ

>二つの数列を結合し「010099」という数列をビューとして出力したい
の質問のいみがよ〜わからん。文字列に変換してつなげるだけじゃないか。

>私の上司は絶対にできない、と言っていたのですが・・・
アホか、今から俺の部下になれ。

9 :8:01/09/21 02:05
ワリィ
必ずしも2桁とは限らん。上限は4桁でいいんだな。
right('000' + convert(varchar(2),生徒コード),4)

従って
select right('0' + クラスコード,2)
+ right('000' + convert(varchar(4),生徒コード),4)
from 生徒マスタ

010099
が出力される。

SQLの質問のスレで質問しなさい。

10 :8:01/09/21 02:12
またまたスマソ
後の例の方が正しい
right('000' + convert(varchar(4),生徒コード),4)
眠い。ねる。

11 :1:01/09/22 02:54
>>8さん

本当にどうもありがとうございました。
上司にみせたら「アー知ってる知ってる」って抜かしてました
大変感謝しております。
次回質問を挙げるときは気をつけます。

4 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)