SQL 服务器:尝试用大小写转换日期
SQL Server : trying to convert a date with a case
我有这个 SQL 代码可以将保修注册数据传输到设备 sheet。但是我收到 4 条错误消息
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near ','.
Msg 102, Level 15, State 1, Line 16
Incorrect syntax near 'T1'.
这是我正在使用的代码,它转换日期并将其置于正确的格式中,例如 YYYY-MM-DD
UPDATE TOP (100) [TEST].[dbo].[Report]
SET [U_DateA] = SUBSTRING((T1.[DateAchat], 3, 1) = '-'
[U_CoName] = LEFT((T1.[Individu_prenom] + ' ' + T1.[Individu_nom]), 50),
[U_CoRue] = T1.[Individu_adresse],
[U_CoVil] = T1.[Individu_ville],
FROM
(SELECT
idForm, [FormDateEntree], REPLACE([DateAchat], '/', '-') AS DateAchat,
[Individu_prenom], [Individu_nom], [Individu_adresse],
[Individu_ville], [Individu_CpZip], [Individu_Telephone],
[Individu_Email], [Individu_pays], [Individu_provEtat],
[ModeleNo],[ModeleSerie]
FROM
[dTEST2].[dbo].[RegistrTest]) T1
有人知道吗?
首先,你有两个 (( 在第一个子字符串中,你只需要一个。CASE WHEN SUBSTRING(T1.[DateAchat], 3, 1) = '-'
其次,从中删除AS DateAchat
。您不必在更新查询中指定列名!
不要操作日期和字符串(这取决于您的系统),而是执行此操作以获得 yyyy-mm-dd 的日期格式:
... SET [U_DateA] = CONVERT(CHAR(10), T1.[DateAchat], 126) ...
我希望[U_DateA]
是一个字符串。如果这是一个日期字段,为什么不将其保留为日期?
我有这个 SQL 代码可以将保修注册数据传输到设备 sheet。但是我收到 4 条错误消息
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near ','.Msg 102, Level 15, State 1, Line 16
Incorrect syntax near 'T1'.
这是我正在使用的代码,它转换日期并将其置于正确的格式中,例如 YYYY-MM-DD
UPDATE TOP (100) [TEST].[dbo].[Report]
SET [U_DateA] = SUBSTRING((T1.[DateAchat], 3, 1) = '-'
[U_CoName] = LEFT((T1.[Individu_prenom] + ' ' + T1.[Individu_nom]), 50),
[U_CoRue] = T1.[Individu_adresse],
[U_CoVil] = T1.[Individu_ville],
FROM
(SELECT
idForm, [FormDateEntree], REPLACE([DateAchat], '/', '-') AS DateAchat,
[Individu_prenom], [Individu_nom], [Individu_adresse],
[Individu_ville], [Individu_CpZip], [Individu_Telephone],
[Individu_Email], [Individu_pays], [Individu_provEtat],
[ModeleNo],[ModeleSerie]
FROM
[dTEST2].[dbo].[RegistrTest]) T1
有人知道吗?
首先,你有两个 (( 在第一个子字符串中,你只需要一个。CASE WHEN SUBSTRING(T1.[DateAchat], 3, 1) = '-'
其次,从中删除AS DateAchat
。您不必在更新查询中指定列名!
不要操作日期和字符串(这取决于您的系统),而是执行此操作以获得 yyyy-mm-dd 的日期格式:
... SET [U_DateA] = CONVERT(CHAR(10), T1.[DateAchat], 126) ...
我希望[U_DateA]
是一个字符串。如果这是一个日期字段,为什么不将其保留为日期?