元スレMySQL 総合 Part24
mysql覧 / PC版 /みんなの評価 :
551 = :
>>550
できます。
552 :
>>551
ぐぐっても見つけられないのですが
やり方を教えてもらえますか
ちょっと特殊な要件でinsertやupdateは自動変換してほしくて、selectは変換しないでほしいと言った
使い方をしたいのですが
553 = :
>>552
要件はしらんが、やり方はぐぐってすぐわかるんだが。
ググり方下手なんじゃないの?
554 = :
>>552
> ちょっと特殊な要件でinsertやupdateは自動変換してほしくて、selectは変換しないでほしいと言った
> 使い方をしたいのですが
そもそもalter tableで解決するの?
保存している文字列自体の文字コードを、character_set_clientを変更することにより自動で変換したいように見える。
もちろんそんなことは出来ないけど。
555 = :
具体的に言うと、テレビのEPGデータがshift_jisと思われるのですが
海外のソフトを使うとテーブルがUTF8なんで文字化けしちゃうので
EPGテーブルをテーブルにinsertするときに変換して
検索するときにはUTF8で使いたいという内容です
556 :
>>559
それだと、期間の最後のほうにそのデータがあるとき、
期間で検索すると変なことにならない?
557 = 556 :
ある書類に関するデータベースを作っているんだけど、
そのなかに、作成年月日を作ってあるんだけど、
昔の書類は年月日までなくて、年とか年月までとか
そんなデータしか残ってないものもあって、
そんな書類が膨大にあって、そのデータをいろいろ
検索したい。作成の年・月・日がわかっているものは、
期間検索でばさっと検索できるけど、月までしかない
もののとき、1日とか入れちゃうと、本当に1日に作成されている
ものとぐちゃぐちゃになるし、期間検索で、月の途中から
途中までで検索したいとき、うまくひっかからないことがある。
そういうのをどうすればいいかなーと悩んでます。
559 = :
ものすごい初歩的なこと聞いていい?
日付データ的なもので、年と月までのデータがあるんだけど、
これってどうするの? 今はとりあえずテキストで1999年12月
とか入れてあるけど、期間で検索できないから困ってる。
560 = :
日付に1を入れておく、とか?
561 = :
カラムの詳細(型とか)と最終的にやりたいことが分からないから答えようがない。
まとまったら
http://toro.2ch.net/test/read.cgi/db/1371476534/
で聞けばいい。
562 = :
昔の文献のデータベースを作ってるんだけど、
昔の文献には作成年月日が詳細に書かれていないものが多くて、
月までしかわからないものは月までにしておかないと、
詳細に作成年月日がわかっているものと区別がつかなくなる。
それに下手に1日とか15日とか入れちゃうと、期間検索したときに
不都合多そうで。
563 = :
mysqlだと日付に0入れることが出来るけどね
こんな感じで
insert into dd values ('2014-05-00');
564 = :
>>562
昔、悩んだことがある。
日だけ別のフィールドを作れば理論的には区別できるけど面倒。
実用的には日まで気にして検索することは少ないので、日が不明なのは15日と仮定し、オリジナルのデータを別フィールドで持つことにした。
565 = :
>>563
それって言語によって2014-04-30と認識しちゃうとか?
ポスグレ移行も考えてるのでなるべく標準に近いデータにしたい。
どうすりゃいいんだろ。普通に年・月のデータってあると思うんだけど
ググってもわからないし。
566 = :
え、6桁の数字とか文字にするのはだめなの
567 = :
うちの音楽DBは不明は1日にしちゃってる
568 = :
>>566
日付の足し算、引き算の必要がないなら、ストリングでよいですね。
期間指定して検索もできます。
569 = :
INTEGER でいいじゃんか。
計算も工夫すりゃそのままできるし
570 = :
>>566
>>569
いやそれだと日付が詳細まで入力してあるのが、、、、、と思ったけど、
10桁の数字にして月までのデータは末尾0000にすればいいのか?
期間検索できるし。日数計算できないけど、それは考えようか。
、、、、、、、とすると、今まで入力した日付データを変換するには、、、、
5000くらいデータあるけど、手修正かorz? 質問してよかったぁ。
数万になってからでは目もあてられんかったorz
数字10桁の期間検索用フィールド入力→日付データに日付型に
変換して入力(月までのデータは適当に)とかかなあ。あー面倒orz。
571 = :
俺なら精度のカラム作るな
572 = :
>>570
まあどれがいいかは今後の運用方法によるけど
変換はUPDATE文工夫すれば数十万件なら一瞬だよ
573 = :
>>572
ぜひ詳しく。
>>572
ですよね~。SQLおぼつかないから勉強しないと。
574 = :
>>573
文字型では難しくて、日付型だと簡単なのは、日付の足し算、引き算だけでは?
>>562 の文献データベースなら、日付の足し算とか引き算は
文字型でも期間指定で検索ができるよ。
PubDate >= "1853年07月08日" AND PubDate <= "1854年06月01日"
少し話は違うけど、「嘉永6年」ではなくて「癸丑」と干支だけ書かれた文献もあるよ。
575 = :
>>574
× >>562 の文献データベースなら、日付の足し算とか引き算は
○ >>562 の文献データベースなら、日付の足し算とか引き算は不要では
576 = :
(´・ω・`)バックアップ取るとき、default-character-setにbinaryを指定するのって変?
577 = :
>>576
安全
578 = :
バイナリーが文字コード依存じゃないからよいのでわー
579 = :
Mariaさまがみてる
580 = :
会社でmysql使ってるんだけど
Dumpしたデータをリストアしようとしたら、途中から急にメモリが跳ね上がってサービスが強制終了するんだけどなんで?
どこ調べても解決しない
582 = :
入門本というか基礎本一冊終わらしたんですが次に買うのにオススメの本はありますか?
583 = :
本読むのも良いし止めろとは言わないけど、自分で実際にデータ入れて作業してみたら?
そこで、外部制約かけたりとかストアドプロシジャ作ってみるとか
それから自分で出来る言語でDBアプリ作ってみるとか
591 = :
あと、メンテナンスがつらくなるのでおすすめはしないけど
テーブルを非正規化してcommentsテーブルにdeletedカラムを入れてもいいと思う。
それで1秒は切れると予想。
596 = :
つまり*は重いので、取得は1列。
他は内部結合、インデックスと。
597 = :
こんなんんで2秒かかってたらPostgreSQLにボロ負けなんで許せません
あっちはハッシュを使ってくるのでどう戦いますかな
みんなの評価 :
類似してるかもしれないスレッド
- MySQL 総合 Part25 (947) - [94%] - 2017/6/18 6:30
- MySQL 総合 Part14 (1001) - [94%] - 2008/11/23 10:17 ☆
- MySQL 総合 Part23 (992) - [94%] - 2013/8/11 17:00
- MySQL 総合 Part22 (1001) - [94%] - 2012/7/10 16:45
- MySQL 総合 Part26 (860) - [94%] - 2023/2/2 9:30
- MySQL 総合 Part21 (1001) - [94%] - 2011/12/25 22:16
- MySQL 総合 Part20 (995) - [94%] - 2011/10/17 4:48
- MySQL 総合 Part12 (1001) - [89%] - 2008/1/30 17:34 ○
- MySQL 総合 Part18 (986) - [89%] - 2011/1/17 15:46
- MySQL 総合 Part13 (996) - [89%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part15 (1001) - [89%] - 2009/4/20 12:15 ☆
- MySQL 総合 Part17 (1001) - [89%] - 2010/6/10 20:47 ○
- MySQL 総合 Part19 (982) - [89%] - 2011/6/9 2:33
- MySQL vs PostgreSQL Part2 (941) - [36%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について