-1

重複の可能性:
MySQLの日付形式

私は比較をする必要があるこの日付を持っていますが、クエリ以来それをする必要があります!

今私はこのクエリを持っています:

Select date WHERE date="$today"

$todayこの形式はどこにありますか:dmY どうすれば直接dmYに変換できますか?日付フィールド?何かのようなもの:

Select date("dmY",date) WHERE date="$today"

これが可能かどうかはわかりませんが、可能かもしれないので、単純に、はい、実行可能です、いいえ、そうではありませんが、少し助けていただければ幸いです。

4

4 に答える 4

1
Select date_format(date, '%d%m%Y') 
from your_table 
WHERE date="$today"

MySQLDATE_FORMATを参照してください

于 2012-10-04T12:43:38.040 に答える
1

date_formatを使用する必要があります

Select date_format(date, '%d%m%Y) from table_name where date = "$today"

于 2012-10-04T12:46:17.090 に答える
1

問題が発生しているのは、mysql_queryからフォーマットされたものに合うようにphpの日付をフォーマットすることだと思います

これが私が思いついたものです。

これを処理するための簡単なコードを作成しました。

手順は、mysqlのCURDATE()関数を使用してmysqlから今日の日付を取得し、それをフォーマットして、テーブルの既存の列と一致させることです。

MYSQLデータベース

    -- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Oct 04, 2012 at 01:44 PM
-- Server version: 5.5.16
-- PHP Version: 5.3.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Database: `my_db`
--

-- --------------------------------------------------------

--
-- Table structure for table `datetable`
--

CREATE TABLE IF NOT EXISTS `datetable` (
  `dateid` int(2) NOT NULL AUTO_INCREMENT,
  `datestuff` date NOT NULL,
  PRIMARY KEY (`dateid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Dumping data for table `datetable`
--

INSERT INTO `datetable` (`dateid`, `datestuff`) VALUES
(1, '2012-10-02'),
(2, '2012-10-04');

PHPコード(ファイル)

   <?php
//Connect to your host
$con = mysql_connect("localhost","admin","admin");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
//select your database
mysql_select_db("my_db", $con);

//getting today's date and formating it, output is like this (4-10-2012)
$today = date('j-m-Y');

//query your table, also date has been formated like this (4-10-2012)
$result = mysql_query("SELECT DATE_FORMAT( CURDATE( ) ,  '%e-%m-%Y' ) AS today, DATE_FORMAT( datestuff,  '%e-%m-%Y' ) AS datestuff FROM datetable WHERE CURDATE( ) = datestuff");

//get the resultset
while($row = mysql_fetch_array($result))
  {
  echo "date in table: ".$row['datestuff']. "---- today's date: ". $row['datestuff'];
  echo "<br />";
  }
?>

それがあなたのためにうまくいったかどうか私に知らせてみてください....

于 2012-10-04T13:54:14.993 に答える
0
Select date_format("2012-06-01",'%d-%m-%Y') WHERE date="$today"

注*:「%d /%m /%Y」では日付区切り文字「-」または「/」を使用できます

日付の比較例:

Select * From temp where mydate > '2009-06-29 16:00:44';
于 2012-10-04T13:58:19.387 に答える