Как исправить ошибку при конвертации на дату?

Ответы каждого замечательные, но вот один из них, я думаю, немного более полный ...

Это написано для использования javascript одного числа в одной строке:

^(?!.*911.*\d{4})((\+?1[\/ ]?)?(?![\(\. -]?555.*)\( ?[2-9][0-9]{2} ?\) ?|(\+?1[\.\/ -])?[2-9][0-9]{2}[\.\/ -]?)(?!555.?01..)([2-9][0-9]{2})[\.\/ -]?([0-9]{4})$

Если вы хотите совпадать с границами слов, просто измените ^ и $ на \ b

. Я приветствую любые предложения, исправления или критику этого решения. Насколько я могу судить, это соответствует формату NANP (для номеров США - я не проверял другие североамериканские страны при создании этого), избегает любых ошибок 911 (не может быть в коде страны или региональном коде), устраняет только те 555 номеров, которые фактически недействительны (код региона 555, за которым следует 01xx, где x = любое число).

0
задан Arulkumar 18 March 2019 в 17:49
поделиться

1 ответ

Ваша ошибка не воспроизводима.

Следующий тест:

SELECT (CONVERT(DATE, (CONVERT(varchar, 'Oct') + ' 1 ' + CONVERT(varchar, '2017')))) 

Не выдает ошибку и приводит к:

2017-10-01

Ошибка должна быть либо в другой части кода, либо из-за некоторых данных в вашей таблице за пределами того, что вы описали (действительный месяц / год)

0
ответ дан Tab Alleman 18 March 2019 в 17:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: