Защо ми е необходим символът @, за да използвам тази функция?
Символът @ означава, че използвате променлива, така че низът за четене не се поставя веднага в таблицата, а в памет, която ви позволява да работите с нея, преди да я вмъкнете. Повече информация в http://dev.mysql.com/ doc/refman/5.0/en/user-variables.html
Трябва ли форматът на данните („%c/%e/%Y“) да бъде форматът на въведените данни или желаният от мен изход?
Това е форматът на въведените данни, повече информация в http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date
Мога ли да заснема времето и по този начин?
Трябва да можете, стига да сте избрали правилния формат, нещо като
STR_TO_DATE(@temp_date,'%c/%e/%Y %h:%i:%s');