![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
日付をDBから取り出す際、
例
9999-99-99 99:99:99
↑を取り出すのは
AND substr(dat_sales.date,1,4)="2023"
AND substr(dat_sales.date,6,2)="02"
AND substr(dat_sales.date,9,2)="15"
と記述すると本に載っており実際、この記述でデータを取り出せました。
が、取り出す文字の数え方が疑問です。
最初の頭の数は1ではなく0ではないのでしょうか?
substr('abcde', 0, 2) --> ab
の様にaが0から始まると思うのですが今回のですと
substr(dat_sales.date,1,4)だと
999-が取り出されると思ったのですが。
何故、上手く日付が取り出せたのでしょうか?
教えて下さい。
No.4ベストアンサー
- 回答日時:
こんにちは
SQLですよね?
PHPのカテでご質問なさっているので、PHPと混同していませんか?
SQLでは先頭の文字位置は「1」です。
(0を指定した場合、1として処理されます)
https://itsakura.com/oracle-substr
https://docs.oracle.com/cd/E16338_01/server.112/ …
ありがとうございます!
すみません、質問するカテを間違えていました。
SQLでは頭が1になるのですね。
助かりました。
ずっと考えていたので教えて頂けて本当に嬉しいです。
ありがとうございました!
No.3
- 回答日時:
環境や言語系によって関数のパラメータ解釈に差があるのかもしれません
そもそもこの話題は、どの環境での話でしょうか?
カテゴリからPHP上ということでしょうか?
こちらのPHPマニュアルを参照すると
https://www.php.net/manual/ja/function.substr.php
offset値は、0~とい事になっていますね
とは言え、実機では1~ということなのであれば
そういう環境だと解釈してくしか無いのでは?
仮に0を指定した場合にはどういう結果が得られるのかで仕様を推定できそうですね
No.1
- 回答日時:
>の様にaが0から始まると思う
なんでそう思ったのですか?
別の文字列の取り出しなら、0からになった、、、など
異なる実例が発生したんですか?
してないなら、単なるあなたの思い込みでしょ?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Perl perlについての質問 2 2022/10/17 15:25
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- MySQL MYSQL エラー 2 2022/10/18 11:37
- Ruby パイソンプログラミング 2 2022/12/03 18:44
- 英語 "an amount of"の意味等について 2 2023/06/13 12:19
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
開始と終了を指定して、その間...
-
昨日の日付名でファイルを作成...
-
今日の日付から1週間のリスト
-
ファイル名に日付の挿入
-
for文で年のプルダウンを作成し...
-
MS-DOSでの日付表示
-
PHPでカレンダーを作る(縦書き)
-
php カレンダーの休み表示
-
プルダウンメニューの値をDBに...
-
日付によって画像を変える
-
MYSQLの日付から現在までの年数...
-
PHPで以下のような占いプログラ...
-
php storetotime 最終日の前日
-
日付のフォーマットを操作する
-
C言語を使って、ある特定の日の...
-
codeigniterの時間設定
-
python : unix epoch への変換...
-
PHP 日付操作
-
アップロードしたファイル名に...
-
プルダウンで今日以降の日付を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
昨日の日付を取得するVBscript
-
ファイル名に日付の挿入
-
C言語を使って、ある特定の日の...
-
アップロードしたファイル名に...
-
C言語でシステム日付との差を...
-
昨日の日付名でファイルを作成...
-
現在時刻をyyyymmddhhmmss形式...
-
今日の日付から1週間のリスト
-
PHP 指定した期間だけ表示した...
-
差分の月数を算出する方法
-
日付によって画像を変える
-
プルダウンメニューの値をDBに...
-
MYSQLの日付から現在までの年数...
-
月曜日から始まる週間カレンダ...
-
Java Scriptで、ある日付に加算...
-
PHPでn日後を計算したい
-
MS-DOSコマンドのリダイ...
-
日付が変わるとカウントアップ
-
改行されないカレンダー(PHP)
おすすめ情報
はい。カラムの間違えがあり、その旨を教えて頂き正常に動きました。
今回、substr自体の使い方が疑問だったので質問をしました。
例えば何ですが、
2023-02-15 99:99:99 という日付のデータを取り出したい場合、
2023は左から0123と数えるのではないかと疑問に思いました。
2023は左から1234と1から始まるのでしょうか?だとすると、
2023-02-15は1234が2023で-02が56となるのでしょうか?