Люди ответили на вставку, но не на язык.
SQL имеет встроенную поддержку локали, как и следовало ожидать. Если вы дадите ему тип, скажем, дату, он будет хранить эту дату в любой локали / сопоставлении, которые вы настроите в SQL. Использование этого из SQL в .NET происходит автоматически - вам не нужно явно конвертировать дату SQL в США в дату GB .NET.
Обратите внимание, что этот интеллект теряется, если вы отправляете SQL значение, закодированное в строку, вы несете ответственность за это, так как все, что видит SQL - это строка, а не дата или число.
Вставка или извлечение локализованных значений из SQL будет происходить неявно, где это возможно, поэтому использование параметризованного запроса (с параметром поддерживаемого типа) будет хорошо.
Я видел ситуацию, когда даты сохранялись в базе данных в виде строк. Это вызвало хаос, потому что три клиента - это ГБ, США и БР - никакой неявной поддержки локали из .NET или SQL, они просто пытаются использовать ее и терпят неудачу на некоторых.