/ / Как да вмъкнем стойност в колона тип дата на базата данни? - java, mysql, дата

Как да вмъкнем стойност в дадена колона за дата на базата данни? - Java, MySQL, дата

Как да запазите стойността на променлива, която е като дата в базата данни.

Моята струна е следната

Ява

 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
try {
SimpleDateFormat parseFormatter = new SimpleDateFormat("yyyy-MM-dd");
//SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss+hh:mm");
Date date = parseFormatter.parse(mydate);

String formattedDate = formatter.format(date);
System.out.println("Date"+formattedDate);
return formattedDate;  <<need to save its value to database lets say its value is 2013-03-19

Трябва да го запиша в колона на таблицата, че нейният тип е дата.

База данни

Name Type
Date date

Предполагам, че трябва да конвертирам низ към дата, но как?

ps.setDate(????)

Отговори:

1 за отговор № 1

ако mydate е низ в yyyy-MM-dd формат, тогава можете да направите следното

    PreparedStatement ps = conn.prepareStatement("insert into t1 (date) values (?)");
ps.setDate(1, java.sql.Date.valueOf(mydate));
ps.executeUpdate();

0 за отговор № 2

MySQL разбира дати. Ако приемем, че използвате a PreparedStatement можете просто да използвате стандартен JDBC stmt.setDate(n,date) където n е индексът на параметъра и date е променлива на Java от тип дата.

Няма нужда да правите низови преобразувания.


0 за отговор № 3

Използвай STR_TO_DATE функция в MySql

РЕДАКТИРАНЕ

например

INSERT INTO table (dateCol1, col2 ..)
VALUES (STR_TO_DATE("May 1, 2013","%M %d,%Y"), col2value, ...)

0 за отговор № 4

Предполагам, че трябва да конвертирам низ към дата, но как?

Ако искате да конвертирате String в Date, да предположим String е 2013-03-19

String yourString = "2013-03-19";
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(yourString);

Ето твоите String се преобразува в Date обект, но ако трябва да определите тази конкретна дата в друг обект на дата, това не е възможно по този начин yourDateObj.setDate(date) защото няма такъв директен метод в клас Дата, който да приема датата като аргумент.

за да зададете конкретна дата, можете да използвате Календар като

Calendar yourDate = new GregorianCalendar();
yourDate.setTime(date);

Други мъдри можете да направите и по този начин Date(int year, int month, int date) но вече е оттеглена.

Или Ако искате да вмъкнете String в Date колона от mysql тогава # Function_str актуална, Съгласен съм с Ед Хил отговор