На этом сайте есть отличные примеры проверьте
// создайте дату создания 2008-03-09 16: 05: 07.123 DateTime dt = new DateTime (2008) , 3, 9, 16, 5, 7, 123); String.Format ("{0: y yy yyy yyyy}", dt); // "8 08 008 2008" year String.Format ("{0: M MM MMM MMMM}", dt); // «3 марта марта» месяц String.Format («{0: d dd ddd dddd}», dt); // "9 09 Sun Sunday" day String.Format ("{0: h hh H HH}", dt); // «4 04 16 16» час 12/24 String.Format («{0: m mm}», dt); // "5 05" минута String.Format ("{0: s ss}", dt); // "7 07" второй String.Format ("{0: f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction String.Format ("{0: F FF FFF FFFF}", dt); // "1 12 123 123" без нулей String.Format ("{0: t tt}", dt); // «П ПМ» А.М. или P.M. String.Format ("{0: z zz zzz}", dt); // "-6 -06 -06: 00" часовой пояс // числа месяц / день без / с ведущими нулями String.Format ("{0: M / d / yyyy}", dt); // "3/9/2008" String.Format ("{0: MM / dd / yyyy}", dt); // "03/09/2008" // имя дня / месяца String.Format ("{0: ddd, MMM d, yyyy}", dt); // «Sun, Mar 9, 2008» String.Format («{0: dddd, MMMM d, yyyy}», dt); // «Sunday, March 9, 2008» // two / four digit year String.Format («{0: MM / dd / yy}», dt); // "03/09/08" String.Format ("{0: MM / dd / yyyy}", dt); // "03/09/2008"
Стандартное форматирование DateTime
String.Format ("{0: t}", dt); // "4:05 PM" ShortTime String.Format ("{0: d}", dt); // "3/9/2008" ShortDate String.Format ("{0: T}", dt); // "4:05:07 PM" LongTime String.Format ("{0: D}", dt); // «Sunday, March 09, 2008» LongDate String.Format («{0: f}», dt); // "Sunday, March 09, 2008 4:05 PM" LongDate + ShortTime String.Format ("{0: F}", dt); // "Sunday, March 09, 2008 4:05:07 PM" FullDateTime String.Format ("{0: g}", dt); // "3/9/2008 16:05" ShortDate + ShortTime String.Format ("{0: G}", dt); // "3/9/2008 4:05:07 PM" ShortDate + LongTime String.Format ("{0: m}", dt); // «Март 09» MonthDay String.Format («{0: y}», dt); // «Март 2008» YearMonth String.Format («{0: r}», dt); // "Sun, 09 Mar 2008 16:05:07 GMT" RFC1123 String.Format ("{0: s}", dt); // "2008-03-09T16: 05: 07" SortableDateTime String.Format ("{0: u}", dt); // «2008-03-09 16: 05: 07Z». Спецификатор DateTimeFormatInfo. Значение шаблона (для культуры в США) t ShortTimePattern h: mm tt d ShortDatePattern M / d / yyyy T LongTimePattern h: mm: ss tt D LongDatePattern dddd, MMMM dd, yyyy f (комбинация D и t) dddd, MMMM dd, yyyy h: mm tt F FullDateTimePattern dddd, MMMM dd, yyyy h: mm: ss tt g (комбинация d и t) M / d / yyyy h: mm tt G (комбинация d и T) M / d / yyyy h: mm: ss tt m, M MonthDayPattern MMMM dd y, Y YearMonthPattern MMMM, yyyy r, R RFC1123Pattern ddd, dd MMM yyyy HH ' : 'mm': 'ss' GMT '(*) s SortableDateTimePattern yyyy' - 'MM' - 'dd'T'HH': 'mm': 'ss (*) u UniversalSortableDateTimePattern yyyy' - 'MM' - 'dd HH ':' mm ':' ss'Z '(*) (*) = независимый от культуры * /
Обновление с использованием формата интерполяции строк c # 6
// время создания 2008-03-09 16: 05: 07.123 DateTime dt = new DateTime (2008, 3, 9, 16, 5, 7, 123); $ "{dt: y yy yyy yyyy}"; // «8 08 008 2008» год $ «{dt: M MM MMM MMMM}"; // «3 марта марта« месяц $ »{dt: d dd ddd dddd}"; // "9 09 Sun Sunday" день $ "{dt: h hh H HH}"; // "4 04 16 16" час 12/24 $ "{dt: m mm}"; // "5 05" минута $ "{dt: s ss}"; // "7 07" second $ "{dt: f ff fff ffff}"; // "1 12 123 1230" sec.fraction $ "{dt: F FF FFF FFFF}"; // "1 12 123 123" без нулей $ "{dt: t tt}"; // «П ПМ» А.М. или P.M. $ "{dt: z zz zzz}"; // "-6 -06 -06: 00" часовой пояс // числа месяц / день без / с ведущими нулями $ "{dt: M / d / yyyy}"; // "3/9/2008" $ "{dt: MM / dd / yyyy}"; // "03/09/2008" // день / месяц имен $ "{dt: ddd, MMM d, yyyy}"; // "Sun, 9 марта 2008 г." $ "{dt: dddd, MMMM d, yyyy}"; // «Воскресенье, 9 марта 2008 г.» // два / четыре цифры года $ "{dt: MM / dd / yy}"; // "03/09/08" $ "{dt: MM / dd / yyyy}"; // «03/09/2008»
Вы можете сделать это с помощью хранимой процедуры, объединив операторы UPDATE
в одной транзакции.
Когда вы говорите несколько запросов, вы имеете в виду несколько операторов SQL, например:
UPDATE table1 SET a=b WHERE c;
UPDATE table2 SET a=b WHERE d;
UPDATE table3 SET a=b WHERE e;
Или несколько вызовов функций запроса, как в:
mySqlQuery(UPDATE table1 SET a=b WHERE c;)
mySqlQuery(UPDATE table2 SET a=b WHERE d;)
mySqlQuery(UPDATE table3 SET a=b WHERE e;)
сделанный с помощью одного вызова mySqlQuery, если это то, чего вы хотели достичь, просто вызовите функцию mySqlQuery следующим образом:
mySqlQuery(UPDATE table1 SET a=b WHERE c; UPDATE table2 SET a=b WHERE d; UPDATE table3 SET a=b WHERE e;)
Это выполнит все три запроса одним вызовом mySqlQuery ().
Вы также можете сделать это с помощью одного запроса, используя соединение так:
UPDATE table1,table2 SET table1.col=a,table2.col2=b
WHERE items.id=month.id;
И тогда просто отправьте этот один запрос, конечно. Вы можете узнать больше о объединениях здесь: http://dev.mysql.com/doc/refman/5.0/ru/join.html . Также есть несколько ограничений для заказа и ограничения на несколько обновлений таблиц, которые вы можете прочитать здесь: http://dev.mysql.com/doc/refman/5.0/en/update.html (просто ctrl + f "join").
Обычно это хранимые процедуры: для реализации нескольких операторов SQL в последовательности. Используя откаты, вы можете убедиться, что они рассматриваются как одна единица работы, то есть либо все они выполнены, либо ни одна из них не поддерживает согласование данных.
Возьмем случай с двумя таблицами, Books
и Orders
. В случае увеличения количества книг в определенном порядке с Order.ID = 1002
в таблице Orders
, нам также необходимо уменьшить, что общее количество книг, доступных в нашем запасе, одинаковым числом в таблице Books
.
UPDATE Books, Orders
SET Orders.Quantity=Orders.Quantity+2,
Books.InStock=Books.InStock-2
WHERE Books.BookID=Orders.BookID
AND Orders.OrderID = 1002;
UPDATE t1
INNER JOIN t2 ON t2.t1_id = t1.id
INNER JOIN t3 ON t2.t3_id = t3.id
SET t1.a = 'something',
t2.b = 42,
t3.c = t2.c
WHERE t1.a = 'blah';
Чтобы узнать, что он собирается обновить, вы можете преобразовать это в оператор select, например :
SELECT t2.t1_id, t2.t3_id, t1.a, t2.b, t2.c AS t2_c, t3.c AS t3_c
FROM t1
INNER JOIN t2 ON t2.t1_id = t1.id
INNER JOIN t3 ON t2.t3_id = t3.id
WHERE t1.a = 'blah';