Sql server 消息102,第15级,状态1,第11行'附近语法不正确;(';

Sql server 消息102,第15级,状态1,第11行'附近语法不正确;(';,sql-server,Sql Server,在我的SQL Server数据库中,日期的格式为:20110615 我想这样显示它15.06.2011 代码如下: cast(convert((t4.DateOfBought, 7, 2), '. ', (t4.DateOfBought, 5, 2), '. ', left(t4.DateOfBought, 4)) as char charset cp1250) AS DateofBoughtUser, 我犯了一个错误: 味精102,第15级,状态1,第11行 “(”附近的语法不正确 请告诉我

在我的SQL Server数据库中,日期的格式为:
20110615

我想这样显示它
15.06.2011

代码如下:

cast(convert((t4.DateOfBought, 7, 2), '. ', (t4.DateOfBought, 5, 2), '. ', left(t4.DateOfBought, 4)) as char charset cp1250) AS DateofBoughtUser,
我犯了一个错误:

味精102,第15级,状态1,第11行
“(”附近的语法不正确

请告诉我正确的格式是什么

谢谢你试试这个

CONVERT(VARCHAR(10), CONVERT(DATE, CONVERT(char(8), DateOfBought )), 104)

(t4.DateOfBound,7,2)
(t4.DateOfBound,5,2)
应该是什么意思?天哪,查询真是一团糟。你只需要
转换(VARCHAR(10),DateOfBound,104)
最好的选择是停止将datetime值存储为字符串。这就是为什么会有datetime数据类型。请搜索并了解SQL中的转换函数。第一个参数应该是数据类型,而不是列。您是否尝试使用子字符串函数?