Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 将字符转换为日期_Sql Server_Date_Char - Fatal编程技术网

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

我知道使用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', 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);