2016-03-04 2 views
0

Я знаю, что это очень просто сделать с помощью инструкции Convert. Но дело в том, что мне нужно преобразовать из mm/yyyy/dd в Date, и я не могу найти значение стиля для этого и Сервер SQL отправляет сообщение об ошибке, что он не может его преобразовать.Convert Char in Date

Вот мой код:

Create table Clients 
(
name char(150), 
birthday char(10), 
register_date char(10) 
) 
Go 

Insert into Clientes values ('Ralph Van Beethoven', '12/1990/10', Convert(char(10), GetDate(), 103)) 

Другими словами, мне нужно преобразовать '12/1990/90' в Дата и я делаю это:

Convert(char(100), birthday) 

мне нужно делать значение после дня рождения или что мне нужно? Спасибо :)

+0

Ну первый ответ: каким требованием вы хранения даты а) в виде текста и б) в совершенно нестандартным (и на мой взгляд, бессмысленный) формат? – Zastai

+0

Является ли практика SQL. Я знаю, что это действительно глупо формат, который я использую, когда я ввел дату, но вот как мой профессор сказал мне это сделать:/ На самом деле я не использовал этот формат в свой день рождения, но мой профессор сказал, что это неправильно, Я не сделал этого, как он сказал. – RalphVB

+1

И если вы абсолютно должны поддерживать этот формат, используйте подстроку, чтобы получить компоненты dd, mm и yyyy отдельно, собрать их в поддерживаемом порядке и использовать преобразование с соответствующим (и детерминированным) стилем. – Zastai

ответ

0

Спасибо @Zastai за ответ.

Вот код, который я использовал для его преобразования (по его словам, мне нужна подстрока).

birthday = Substring(birthday,1,2) + Substring(birthday,8,3) + Substring(birthday,3,5);