• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sqlにて0無しの月をフォーマットする方法)

SQLで0無しの月をフォーマットする方法

このQ&Aのポイント
  • DB: PostgreSQL、言語: PHPを使用しています。現在、SQLでto_char関数を使用して日付をフォーマットしていますが、月の部分には0が含まれてしまいます。MySQLの場合は%cを使用することで0を含まない形式でフォーマットできますが、PostgreSQLに同じ機能はありません。しかし、SQL側で処理する必要はありません。データを取得した後で処理する方法もあります。一般的な0を消す処理方法を教えてください。
  • PostgreSQLのto_char関数を使用して日付をフォーマットしていますが、生成される月の部分には0が含まれてしまいます。MySQLの場合は%cを使用することで0を含まない形式でフォーマットできますが、PostgreSQLに同じ機能はありません。しかし、SQL側で処理を行う必要はありません。データを取得した後で処理する方法もあります。一般的な0を消す処理方法を教えてください。
  • 現在、PostgreSQLのto_char関数を使用して日付をフォーマットしていますが、生成される月の部分には0が含まれています。MySQLの場合は%cを使用することで0を含まない形式でフォーマットできますが、PostgreSQLに同じ機能はありません。しかし、SQL側で処理を行う必要はありません。データを取得した後で処理する方法もあります。一般的な0を消す処理方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

replace( to_char(created, 'YYYY年MM月'), '年0', '年') as created_styled

non05410
質問者

お礼

回答頂きありがとうございました! 求めていた通りの結果が返ってきました。 本当にありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • sqlで日付が一番古いデータの月を取得する方法

    言語:php DB:postgresql 質問させて頂きます。 現在DBに入ったデータから一番古い年月を取得しようとしています。 「DBの中身(仮)」 [id][date] 1 2012-05-18 18:20:16.064554 2 2012-04-17 18:43:12.732035 この際古いのは2個目のデータなので、 これを判断して「201204」という形で取得したいと考えているのですが、 この処理を行うにはどのようなSQLを実行すればよいのでしょうか? SQLのみで判断できるのか、一旦全データを取得したうえでPHPで判断する必要があるのか、 もじ方法をご存知の方がいらっしゃいましたらよろしくお願い致します。 また、質問に不備がありましたら、すぐに修正致しますのでご指摘お願いします。

    • ベストアンサー
    • PHP
  • SQLで小数点の計算がしたいです。

    postgresql8.2.4を使っています。 select to_char(10/3, '99D999'); とすると、 3.000となります。 10/3=3.3333....ではないのでしょうか? 他のSQL(MySQLやSQLServer,Oracle,DB2)もどう記述するか知りたいです。

  • SQLについて

    SQLには Transact-SQL、MySQL、PostgreSQL、PL/SQLといったように種類があります。 使用できる関数が違うとかは分かるのですが、 具体的に何がどう違うかなどははっきり理解できていません。 また、どのSQLをどのような用途で使用するのかなども分かっていません。 また、これに関することで、DBでSQLServerとかOracleとかが関わっていると思われるのですが。 例えば、SQLServerではTransact-SQLを使用して、Oracleでは別のSQL(ここはよく分かっていません)を使用するみたいなことでしょうか? 要はSQLというものがあって、それをコーディングするためのアプリケーションに対応しているものが、各SQLといった事? 例えば、C#、VBA、Java(Transact-SQL、MySQL)などのプログラミング言語(SQL)があって それを使用できるアプリケーションはそれぞれ VisualStudio、Excel、eclipse(SQLServer、Oracle)みたいな意味合いなんでしょうか? よく分からない質問と例えになってしまいましたが、ご回答のほうをよろしくお願いします。

  • SQL*Loader  フォーマット変換について

    SQL*Loaderの制御ファイル内で、 以下のような日付データを変換するにはどうしたらよいでしょうか? ・2010-12-06 00:00:00.000 以前は'2010-12-06 00:00:00'の形式だったので "to_char(to_date(:DENPYO_DATE,'YYYY-MM-DD HH24:MI:SS'),'YYYYMMDD')" のようにして変換が可能だったのですが、仕様変更がありましてこれに対応しなければいけなくなりました。 ちなみに安易な考えで以下のようにしたのですがさすがにだめでした... "to_char(to_date(:DENPYO_DATE,'YYYY-MM-DD HH24:MI:SS.000'),'YYYYMMDD')" 方法をご存知の方がいれば是非、ご教示いただきたく存じます。 よろしくお願いいたします。

  • C言語 埋め込みSQL ecpg

    C言語の埋め込みSQLで質問です。 ご教示ください。初心者です。 【環境】 Windows7 64bit gcc:5.3.0 PostgreSQL:9.6.1 【pgcファイル】 #include <stdio.h> exec sql include sqlca; int main(char* argx[], char* argv[]){ exec sql begin declare section; char NAME[256]; char MAIL[256]; exec sql end declare section; exec sql connect to bookmark user dbuser; strcpy(NAME,argv[1]); strcpy(MAIL,argv[2]); exec sql insert into Name_list (name, mail) values (:NAME, :MAIL); exec sql commit; exec sql disconnect; return 0; } 【症状】 以下のコマンドを実行するとエラーが出ます。 -Iでインクルードしようとしています。 C:\cTest\c>ecpg name_list_db.pgc -I C:\postgresql\include ecpg: ファイル"-I"をオープンできませんでした: No such file or directory ecpg: ファイル"C:\postgresql\include"をオープンできませんでした: No such file or directory 一応Cファイルは生成されます。 強引にgccすると下記のエラーが出ます C:\cTest\c>gcc -o name_list_db name_list_db.c -I C:\postgresql\include -lecpg c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lecpg collect2.exe: error: ld returned 1 exit status どうすれば良いかご教示ください。 この辺のWebサイトを参考にしました。 http://se.cite.ehime-u.ac.jp/~aman/memo/SQL/ecpg.html 以上よろしくお願いいたします。

  • 月一覧を取得するには?(201205、201204

    言語:PHP 質問させて頂きます。 現在、日付の一覧を表示したくプログラムを作成しています。 $start_date = "201012"; $end_date = date("Ym");//201205が代入されるとします。 この2010年12月から2012年05月までの日付を月別で 201012 201101 201102 201103 201104 201105 201106 . . . 201205 と、上記のような文字列で取得したいと考えているのですが、 どのような方法を行えば良いのでしょうか? 「201012」 このような文字列で取得したいわけは、 SQLにて検索にしようしたいと考えているからです。 「TO_CHAR(created,'yyyymm') = '201012'」 いろいろと考えてはみたのですが、これだという方法が思いつかなかったため、質問をさせて頂きました。 どなたかご存知の方がいらっしゃいましたら、よろしくお願い致します。 また、質問に不備などがあった際はすぐに修正致しますので、ご指摘下さい。

    • ベストアンサー
    • PHP
  • 先期末日の日付を求めるSQL

    MySQL5.0 について、 先期末の日付をYYYY-MM-DDの形で求めるSQLを作成したいと考えております。 【要件】実行時のシステム日付から先期末(上期/4~9月、下期/10~3月)の日付を返す 【例】       [実行日]          [結果]      2008/06/10   →    2008/03/31      2008/12/24   →    2008/09/30 MySQLについては全くの無知であり、日付の関数から調べている始末です。 どなたか既に同様のSQLを実行経験のある方、実行SQLをご教示願います。 こうすれば出来るんじゃないか?という意見でも結構です。 宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • データベースのサンプルの追加の方法

    mysqlで、あるサンプルを追加したいのですが方法がわかりません。 os:centos4.4 あるサイトから/home/web/public_htmlのフォルダにsample_db.sqlをダウンロードしました。 あらかじめaaaというデータベースを作成しました。 # mysql -u root -p aaa < sample_db.sql というコマンドを使いたいのですが その前にダウンロードしたsample_db.sqlをどのように処理すれば 上記のコマンドが使えるのかわかりません。 (移動もしくはmysqlへの読み込み・・・) よろしくお願いします。

    • ベストアンサー
    • MySQL
  • DBサーバーはどれがいいのですか?

    MySQL、PostgreSQL、SQLサーバー、ORACLEデータベースについて 仮に、ユーザが5000万人のSNSを作った場合、MySQLやPostgreSQLで対応できますか? 検索に時間がかかったりするのでしょうか? その場合、DBをORACLEにしたほうがいいのでしょうか? ■費用について もし、DBサーバーを1台設置して、ORACLEにした場合、初期費用や毎月のコストはどのくらいになるのでしょうか? ORACLE対応のDBサーバーの金額等も教えて頂ければ幸いです。 あと、SNSの会員が10万人までだとしたら、 MySQL、PostgreSQL、SQLサーバー、ORACLEのうちだと、どれがコスト的に一番効率的でしょうか?

  • SQLで取得したフィールドをSQL文として利用

    お世話になっております。 MYSQLで sql_id (int PK) sql_data (text) のようなテーブル(sql_db)を持ち select sql_id from where (sql_data をsqlとして実行した結果 ) > 200 のように、フィールドから取得した値をSQLとして実行したりする方法はございますでしょうか。 ご教授よろしくお願いいたします。