function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
ms-hase-q23eems-hase-q23ee 

以下の処理をSOQLで実装したい。

SOQLのマニュアルを読んでいるのですが、datetime / date型の説明は多いものの肝心の以下の処理の説明が見当たりません。(特に時刻への変換)
どなたか、ご存知の方は教えてください。

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD'),
TO_CHAR(SYSDATE, 'HH24:MI:SS' ) FROM DUAL ;

エラーなどを見る限り、SOQLも中身はOracleと思われるのですが、パススルーで実行してくれないでしょうかね・・・?
Best Answer chosen by ms-hase-q23ee
Taiki YoshikawaTaiki Yoshikawa
データ型を変更したいということでしょうか。SOQLではTO_CHARはサポートされていなかったと思うので、取得後に別の処理で変更する必要があります。例えばDateTime型の場合は.formatが用意されています。

Datetime Methods
http://www.salesforce.com/us/developer/docs/dbcom_apex/Content/apex_methods_system_datetime.htm#apex_System_Datetime_format_2

All Answers

Taiki YoshikawaTaiki Yoshikawa
データ型を変更したいということでしょうか。SOQLではTO_CHARはサポートされていなかったと思うので、取得後に別の処理で変更する必要があります。例えばDateTime型の場合は.formatが用意されています。

Datetime Methods
http://www.salesforce.com/us/developer/docs/dbcom_apex/Content/apex_methods_system_datetime.htm#apex_System_Datetime_format_2
This was selected as the best answer
ms-hase-q23eems-hase-q23ee
これはAPEXの説明のように見えるのですが、やはりSOQLでは、無いということでしょうか?そのあたりの判断がイマイチつかずに、時間を浪費してしまっています・・・
Taiki YoshikawaTaiki Yoshikawa
はい、SOQLにはありません。
Taiki YoshikawaTaiki Yoshikawa
今回の件とは関係ないと思うのですが、WHEREの条件指定の方でしたら、こういった指定も可能になっています。
http://www.salesforce.com/us/developer/docs/officetoolkit/Content/sforce_api_calls_soql_select_dateformats.htm
ms-hase-q23eems-hase-q23ee
これが良く分からないところですよね。何でこんなに日付系の関数が充実してるのにdatetimeの時刻部分を取得したいという普通のニースの答えが無いんだか・・・
 
Taiki YoshikawaTaiki Yoshikawa
日付時間型の時刻部分を取得したいということでしたら、Time Classが用意されています。SELECT時に変換して取得するということはできませんが、一度取得した後にTime Classで変換する流れで対応できると思います。

Time Class
https://www.salesforce.com/us/developer/docs/apexcode/Content/apex_methods_system_time.htm

Time Methods
http://www.salesforce.com/us/developer/docs/dbcom_apex250/Content/apex_methods_system_time.htm