kawama.jp

MS SQL Serverで日付型の形式を「yyyy-mm-dd」に変換する

カテゴリ: 技術関連 — 2006年5月16日 12:14 — Comments (2)hatebu count

SQLサーバーにて、日付型のカラムから値を取り出すと

「05 15 2006 6:00PM」

というような形式で値が出てくることがある。これが非常に迷惑。
「yyyy-mm-dd」形式でないとアプリケーション側での扱いに困るのだ。

これってWindows自体の時計の設定に依存してたような記憶があるんだけど、とりあえず今回はSQLで日付形式を変換した。

こんな感じ。

select
   *,
   convert(varchar,REGIDATE,120) as REGIDATE 
   from TABLE;

120というのはODBC標準形式。つまり「yyyy-mm-dd hh:mi:ss」だ。
地域別に数字があるので、お好みで使い分けましょう。(あまり使う機会もないと思うけど。。)

2 Comments »

  1. 私も同じケースで悩んでいたのですが、解決したので報告します。
    php.iniの「mssql.datetimeconvert」を「Off」にすると「ODBC標準形式」、
    「On」にすると「MSSQL標準」で取得出来るそうです。
    参考:http://php.mirror.camelnetwork.com/manual/ja/ref.mssql.php

    コメント by びでお — 2006年5月24日 @ 15:31

  2. びでおさん、コメントありがとうございます!
    なるほどー、php.iniで設定できるんですね。
    これで無駄なコード書かなくて済みますね。どうもありがとうございました!

    コメント by かわま — 2006年5月24日 @ 15:57

RSS feed for comments on this post. TrackBack URL

Leave a comment

Copyright (C) 2002 - 2017 kawama All Rights Reserved. — Powered by WordPress