質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

3回答

840閲覧

sqlでカラムの値を結合して判定する方法

enigumalu

総合スコア192

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2017/11/06 02:27

編集2017/11/06 02:55

sqlで1テーブル内の2つのカラムを結合してそれを同一テーブルの別カラムと大小比較をし
結合値よりhantei_dateが早い時間だけ抽出したいのですがそういったことは可能でしょうか?
文字列で入ってますが内容は時間比較になります
pre_date char(4)
main_date char(8)
hantei_date char(16)
test_db as a
a.pre_date + a.main_date > a.hantei_date
すいません判定条件が16桁のため12桁にして判定する必要があるのですがsubstrで良いのでしょうか

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

skitoy4321

2017/11/06 03:05

SQLとひとくちで言っても、SQL Server、Oracle、MySQL、PostgreSQL等、それぞれ方言があるので、タグやタイトル等で明示するといいと思います。
guest

回答3

0

SQL 文字列関数 文字列を連結する からお使いのデータベースを確認してください。
SQLのWHEREで文字列の連結を含む関数を使うと、索引の有無にかかわらずTAlE ACCESS FULLになってパフォーマンスが落ちます。お客名から納品を拒否されることもあり得ますからきちんとテーブル設計を勉強してください。

投稿2017/11/06 05:35

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

DBMSおよび文字で格納されている内容の書式の明示がないので具体的な回答にはなりませんが、
端的に言うと、日付時刻型に変換して比較すれば問題はありません。
ですが、インデックスの適用があり、性能も求める場合には、極力項目の編集を避ける記述が必要です。

投稿2017/11/06 05:07

sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

CONCATすれば結合できます。
http://db.yulib.com/mysql/000031.html

DBの種類が書いていなかったのでmysqlかOracle辺りと予想して書いてます。
違うのであればそのデータベース指定で「文字列 連結」などで検索すれば出て来るかと思います。

投稿2017/11/06 02:39

編集2017/11/06 05:38
yuki-saito

総合スコア928

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問