2018年12月25日

すごい初歩的なSQLのAS句を度忘れしていたことと、値を変換するCASE演算子とか

なんか最近やってないせいか全然、SQLが読めないと思って。
久々にガツッと、サンプル文でも読み込むことにした。

"AS"って何だっけ?って思ってたら。
どうやらAS句ってのが、あるらしいな。
SELECT文における列名やテーブル名の指定では、それぞれの記述の後ろに"AS+任意のキーワード"を付けることで、別名を定義することができる」だ、そうだそうだ、名づけのために使うんだった。
けどあれらしい。

・Oracle DBやSQL Server、DB2など多くの製品では「AS」の記述を省略することができる。
・Oracle DBでは、テーブルの別名を付ける場合には「AS」を記述してはならない。

とかいうローカルルール?的なのがある。
ちゃんと書いてくれた方が判りやすいってのによ。

ヒップホップでもあるわな。a.k.a(as known as)みたいな。
その次は何だ、as句を連続使用してるぞ。
そういうのは、この説明が判りやすい。


んで次にCASE演算子ってやつか。
Javaのif〜else文に似てるな。

--------------------------------------------------------------------------------------
case カラム名 when 'カラム名にある行(row)のデータ'  then '書き換えたい内容'
end
--------------------------------------------------------------------------------------

みたいな感じだ。
さらに複雑な、"="(イコール)とか出てくるやつは。
条件分岐してるんだな。
END AS…これは、


に、似たような文がある。
もう今日は、疲れたからお開きにするか。
「台パン 的場浩司」「自転車 杉本哲太」とかで検索して、気になる記事をチェックしてから寝る。


癒しのハウスミュージック、メロディアスよね。
ちょっと単調に聞こえるけど。



日本人はLouie Vegaとかの方が好みかもな。
posted by DJしかばね at 23:57 | Comment(0) | SQL | このブログの読者になる | 更新情報をチェックする

2018年12月23日

俺の仕事に、誇りはねぇええ!

本当にない。
posted by DJしかばね at 04:11 | Comment(0) | 漫画・アニメ・映画・音楽 | このブログの読者になる | 更新情報をチェックする

2018年12月15日

「カメラのキタムラ」のプレミアム加工は500円払ってもやる価値がある

と、俺は確信したね。普通の仕上がりと、全然違うというか、「おおっ!」ってなった。
そんな写真撮影の前に、街で「ソウルはマイナス11℃」っていう話を聞いたよ。
確かに12月8日は、日本も寒かった。冬将軍が来た感じだな、本格的に。
ここから3月ぐらいまでの季節がほんとに辛いし、長い。夏より冬、寒い時期の方が長い気がするなほんとによ。

何をつまんない話をしてんだって感じだよな、ほんとに。
今日はプログラミングの気分じゃない。マーケティングするか。
グルメ、に関するキーワードは世に沢山あるが。
それがネットで売ってるかどうかは定かじゃない。
だからそれを調べる事にした。飲食店とか料理名とか材料名、ネットショッピングであるかないか。

そんなことして何になるか?
自分のためにはなるんだよな。マーケティングとプログラミング、両方できたら言うことないが、どちらか片方でもメシは食える。
このブログはもはや、自分のためになっちまってるよな。
昔みたいに、面白いコンテンツも書いてない。
だから暇な人だけ、流し目でもいいから軽くアクセスしてくれや。

・穴子天定食
・アプリコットデニッシュ
・熱々きのこサラダ
・アンシェンポール
・アニバーサルデザート
・アーモンドキャラメルラテ
・アルティッキ
・赤とんとん
・シンケルズルチェ
・アイスベーグル
・網焼きフレッシュトマト
・アーモンドチュイルト
・甘酢定食
・香水通販b-cat.com

つまんないこと書いたな。
久しぶりに、グルメレビューやるか。
俺が豊橋駅に行った時の話だ。

豊橋駅|IMG_20170304_110630_1.jpg

こ、これは…といえば豊橋うどん。けど、時間がなかったから駅中の「豊来軒」って所のつけ麺で済ますことにした。
駅ナカのグルメは可もなく不可もなくといった店が多い。
だが今日、豊橋駅の中で食べた「豊来軒」のつけ麺は…トリパイタン・駅ナカ・ダイレクトや〜!
マジで黒船や!豊橋グルメ勢力図を塗りかえる新種やで。
もっちり麺にまとわりつくドロドロの鶏スープは、麺業界のアリコ・ジャパンやー!

やばいで、豊橋うどん。
posted by DJしかばね at 14:28 | Comment(0) | マーケティング | このブログの読者になる | 更新情報をチェックする

2018年12月07日

久しぶりのSQLで「alter table 三重グルメ add 情報 varchar(100)」と入れてみたり、カラムなのか列なのかフィールドなのか

「alter table 三重グルメ add 情報 varchar(100)」で、こんなエラーが出てきたよ。

次のコマンドの開始中にエラーが発生しました : 行 1 -
alter table 三重グルメ add 情報 varchar(100)
エラー・レポート -
SQLエラー: ORA-01430: 追加する列がすでに表に存在しています。
01430. 00000 - "column being added already exists in table"
*Cause:
*Action:

ふーん、既に追加してたのね。
ってことは、テーブルにデータがあるってことで。
select文で引っ張ってみるかな。

select 情報 from 三重グルメ;

っていう、超簡単なSQL文を打った。
そうすると…なんだ、「情報」カラムには、何もデータ入ってなかったな。

あと、久しぶりにSQLの本を開くと、面白いことが書いてあった。
「123」は、123(ひゃくにじゅうさん)という数量を表す数値データで、「'123'」は、3つの文字列の並びを表す文字列データだと。
ただ「'2018-12-07'」のように「この時は日付情報です」みたいな、例外っぽい話もあるようだな。
そんで、そういうSQL文の中に書き込まれたデータそのものをリテラル(literal)っていうらしい。


を読むと、「テーブル名.フィールド名」と、ドット(.)で結ぶらしい。
フィールドは、"列"ともいい、"カラム"って言ったりもする。

でも「行と列の交差する部分"フィールド"っていう」って書いてるサイトもあった。


ややこしいな、ほんと…。
やっぱり、列の先頭行のことは"カラム"って言った方がよさそうね。

さて、楽天セールもあと4日ぐらいか。
買うものに目星つけとくかな。

posted by DJしかばね at 23:55 | Comment(0) | SQL | このブログの読者になる | 更新情報をチェックする

2018年12月02日

javaでint型の"a"が「97」として扱われる理由とかパッケージとライブラリの違いとか

日曜日に勉強するのは日が昇っている時間帯に限るね。
夜だと「会社行きたくねえ〜」って、サザエさん症候群になるから。
そんな状態じゃあパフォーマンス落ちるから、頭脳労働できない。
逆に「明日の仕事、準備しとくか〜」って、仕事好きな人は、夜に励めるかもしれんけどな。
そういう仕事に巡り合いたいね、ほんとに。

で、今日本読みながら書いた簡単なプログラムだが。

package dj.shikabane;
import lib.Input;
public class sample {
public static void main(String[] args) {
int yen = Input.getInt();
yen = 'a';
System.out.println(yen);
}
}

これ、キーボードに整数を入力すると、変数に値を代入できて、結果を出力してくれるプログラム何だけど。
なぜか、どんな値を入れても"97"になる。
この理由を調べた。

例えば「yen = a;」だったり、「yen = "a";」だとすると、どちらもコンパイルエラーになる。
前者は、int型で表現できる値の数字でもないから。後者は、二重引用符で囲まれて文字列として扱ってるから、int型ではなくString型でないと表現できないから。
じゃあ何で、一重引用符"a"はOKなのかというと。
一重引用符で1文字しか入ってない値は、文字列ではなくて、文字を扱うchar型のデータであることを示している。
つまりyenに、整数だの少数だの、どんな値を入力しても。
「yen = 'a';」のとこで、char型の"a"が代入されてしまうから。
printlnメソッドで出力される結果は、常に同じ。

97である理由は、これを読んで理解できた。


char型は16進数で4桁。Unicodeが関係してるっぽい。
ココによると。

// char = a, unicode = 97// char = b, unicode = 98// char = c, unicode = 99// char = A, unicode = 65// char = B, unicode = 66// char = C, unicode = 67// char = 1, unicode = 49// char = 2, unicode = 50// char = 3, unicode = 51// char = ,, unicode = 44// char = :, unicode = 58// char = /, unicode = 47
みたいな感じで対応してるようだが。
いや、アスキーコードがどうこうっていう話もあるな。


だめだ、Unicode、アスキーコード、16進数だの10進数だの8進数だの、なんで8進数と16進数が4桁なのかとか、全く頭の整理が追い付いてない。
これについては今度、考えよう。

あと「import lib.Input;」について。これはキーボード入力をするためのInputクラスだと。
「lib.」は、パッケージ。javaのクラスファイルがいろいろ入ってる。
つまりlibパッケージの中にあるInputクラスをimportしてるってことね。

Inputクラスをインポートできたので、「Input.getInt()」で、InputクラスのgetIntメソッドを呼び出して使うことができる。
ライブラリとパッケージでややこしくなったが、ここに詳しく書いてた。


ライブラリはより大きい、その中にパッケージがあるイメージかな。
とりあえず今日はこんな感じで。

来週火曜(12/4)から楽天スーパーセール、なので。
気になる商品に目星、つけとくかな。

posted by DJしかばね at 15:06 | Comment(0) | Java学習 | このブログの読者になる | 更新情報をチェックする

2018年12月01日

「Stringクラス」というのは「String型」といも言えるし「参照型のString」「Stringというクラス型」とも言えることに気付いた

だからややこしいんだ、javaは。
オブジェクトのインスタンスの違いってのも、統一されてないとか何とか。
一時的に「オブジェクト」という用語は使わない方がいいかもしれない。


を読んだら違いがあるみたいだけど。
「オブジェクトとはデータを入れた変数とメソッドの複合体」みたいに解説されてる本もあったり。
言葉の意味が正確に定義されてないというか、いまいち統一されてない。
だから混乱してくる。あんまり概念の意味にこだわらない方いいかもしれん。
理解しやすい概念を利用する、という感じの方がいいか。

クラスとインスタンスの関係は、データ型と変数の関係とほとんど同じ…。
String型はオブジェクト参照型の…ああ、何がなんだか。
char型とbyte型の違いもむずい。


で解説されてたが。
char型は16bit、Byte型は8bit。
つまりchar型は2の16乗通り(65,536通り)、byte型は2の8乗通り(256通り)
…いや違うぞ、char型も8bitだった気がする。
char型は8bit、byte型は8bit。

1文字1バイトのASCIIコードを扱えるデータ型、エスケープシーケンスの話…頭がこんごらがっうてくる。
でも、すごくわかりやすい解説を見つけた。


なるほどなという感じ。
左端が1の値を取る2進数を、10進数の整数だとマイナスにするってことだったと。
unsigned charってのもあるのか…そこに迫るのは今度にするかな。

char型は文字型でbyte型は整数型ってことだ。
を読んでわかった。

なんでfloat型とdouble型の2つを用意する必要あるんだってのもあるな。
正確に表現できる有効桁数が、float型が7桁まで、double型は15桁はまで。
大は小を兼ねるっていうし、double型だけあればいいと思うけどな。
まあfloat型の方がメモリー量は使わないかもしれん…でも末尾にfかFをつけろだの、忘れそうなルールがあるな。

Javaでは文字列はString型、文字はchar型…文字列は複数の文字が連結して列になっている。文字は1文字だけ、一重引用符で囲って1文字のデータであることを示さないといけない。

あ〜疲れた、しかしもう、嫌になってくるぜ。
漫画を買って息抜きよ。
ドリフターズ 6巻、楽天koboで買った。

これを読み週末は楽しもう♪
posted by DJしかばね at 17:39 | Comment(0) | Java学習 | このブログの読者になる | 更新情報をチェックする
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。