Sql server 将字符转换为日期
我知道使用Convert指令执行此操作非常简单,但问题是我需要将mm/yyyy/dd转换为日期,我找不到执行此操作的样式值,SQL server会发送错误消息,表示无法转换 这是我的密码:Sql server 将字符转换为日期,sql-server,date,char,Sql Server,Date,Char,我知道使用Convert指令执行此操作非常简单,但问题是我需要将mm/yyyy/dd转换为日期,我找不到执行此操作的样式值,SQL server会发送错误消息,表示无法转换 这是我的密码: Create table Clients ( name char(150), birthday char(10), register_date char(10) ) Go Insert into Clientes values ('Ralph Van Beethoven', '12/1990/10', Co
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)
我需要生日后的价值观还是我需要什么?
谢谢:)谢谢@Zastai的回答 下面是我用来转换它的代码(正如他所说,我需要一个子字符串)
第一个回答是:根据什么要求,您将日期a)存储为文本,b)存储为完全不标准的格式(在我看来,这是毫无意义的),这是一种SQL实践。我知道我在输入日期时使用的格式很愚蠢,但我的教授就是这么告诉我的:/事实上,我在生日时没有使用这种格式,但我的教授说这是错误的,因为我没有按照他说的那样做。如果你绝对必须支持这种格式,请使用子字符串来获取dd,mm,和yyyy组件,按照支持的顺序重新组装它们,并使用具有适当(和确定性)样式的转换。他让您以这种方式插入组件的唯一目的是为了以后转换吗?因为这太糟糕了。如果你需要将它转换为日期,那么使用convert(datetime,birthday)而不是convert(char(100),birthday)
birthday = Substring(birthday,1,2) + Substring(birthday,8,3) + Substring(birthday,3,5);