Sql server 如何从SQL Server中提取日期时间字符串?
我想要一个datetime字符串,直到sql server中datetime开始的分钟。表示我想从sql server中提取Datetime中分钟后的字符串 比如:Sql server 如何从SQL Server中提取日期时间字符串?,sql-server,datetime,Sql Server,Datetime,我想要一个datetime字符串,直到sql server中datetime开始的分钟。表示我想从sql server中提取Datetime中分钟后的字符串 比如:2011-11-0213:35:14.613 我想要上面的datetime字符串- 2011-11-02 13:35 尝试此操作,将以字符串形式显示日期,格式为yyy-mm-dd hh:mm SELECT CONVERT(CHAR(16),'2011-11-02 13:35:14.613',120) 您可以使用列名而不是静态日期。
2011-11-0213:35:14.613
我想要上面的datetime字符串-
2011-11-02 13:35
尝试此操作,将以字符串形式显示日期,格式为
yyy-mm-dd hh:mm
SELECT CONVERT(CHAR(16),'2011-11-02 13:35:14.613',120)
您可以使用列名而不是静态日期。您的问题有点棘手,因为
CONVERT()
提供的默认格式与预期的输出不匹配。但是,格式样式120
具有以下格式:
yyyy-mm-dd hh:mm:ss
这几乎就是你想要的,减去最后的:ss
。要消除这种情况,您可以在调用CONVERT()
后将其关闭:
您使用的是哪个版本的SQL Server?SQL Server 2008 R2或只需
选择CONVERT(CHAR(16),@date,120)
不需要子字符串,也不需要varchar。只需转换为所需字符的大小即可。103返回字符串格式dd/MM/yyyy
,它不仅不会生成正确的格式,还将完全截断时间部分。Np。现在,您需要做的就是将nvarchar
更改为char
。这是一个固定长度的字符串,永远不会包含任何仅限unicode的字符,因此这里确实不需要使用nvarchar
。
SELECT SUBSTRING(CONVERT(VARCHAR, yourDateColumn, 120), 1, 16)