Отвечая на мой собственный вопрос, так как я только что обнаружил его.
var stmt = conn.prepareStatement('INSERT INTO persontable ' +
'(email, firstname, lastname, birthday) values (?, ?, ?, STR_TO_DATE(?,"%m/%d/%Y"))');
Это рассматривает его как Пользовательскую Строку Числового формата. А именно, посмотрите часть о разделителях раздела на связанной странице:
''; символ привык к отдельным участкам для положительных, отрицательных, и нулевых чисел в строке формата. Если существует два раздела в пользовательской строке формата, крайний левый раздел определяет форматирование положительных и нулевых чисел, в то время как самый правый раздел определяет форматирование отрицательных чисел. Если существует три раздела, крайний левый раздел определяет форматирование положительных чисел, средний раздел определяет форматирование отрицательных чисел, и самый правый раздел определяет форматирование нулевых чисел.
Смотрите здесь и здесь для официальной документации. И этот большой cheatsheet из Блога Jhon Sheehan!
Это использует литеральную строку формата от специализированных строк числового формата. Можно предоставить литерал, который отображается на numbes, которые положительны, отрицательны, или обнуляют числа. Первое "да" отображается на положительный, второе к отрицанию и "нет" к нулям. Таким образом любой ненулевой да, и только нули нет. Это эквивалентно стандартным истинным/ложным семантическим интерпретациям на числовых значениях.
Посмотрите под "разделителем раздела" Пользовательской строковой страницы Числового формата.
Как @Joel Coehoorn и @tvanfosson сказал, он использует пользовательскую строку числового формата. Причина это работает, состоит в том, что булево значение конвертируемо к двойному использованию следующего (по существу):
public static double ToDouble(bool value)
{
return (value ? ((double) 1) : ((double) 0));
}
Так, если значение истинно, оно возвращается 1 и если значение является ложью, оно возвращается 0. В той точке правила отображения раздела применяются, как описано @tvanfosson (и впоследствии @Joel Coehoorn).
У Steve-X есть лучшая документация для Строки. Формат я видел до сих пор: Steve-X ToString ()
Я знаю, что Вы попросили "ToString", но ToString зависит к реализации, которую Вы называете (т.е. DateTime. ToString (), десятичное число. ToString... и т.д.).
Если Вы действительно интересуетесь тем, как это работает промах открытый отражатель, и просмотрите код.