sql - 无法更新列的格式化值
问题描述
我不知道出了什么问题,但我无法更新它。我在格式化日期时得到了正确的结果集,但是当我将它更新到实际表中时(执行时没有错误),它只是相同的数据。
表结构如下:
UNIDAD VARCHAR(50) NOT NULL;
TIPO_DOC nchar(10) NOT NULL,
NUMERO_DOC int NOT NULL,
MES nvarchar(50) NOT NULL,
FECHA date NOT NULL, --the one that matters
NIT_CLIENTE nvarchar(50) NOT NULL,
NOMBRE_CLIENTE nvarchar(MAX) NOT NULL,
INGRESO money NOT NULL;
这是我一直在执行的语句(没有结果):
UPDATE INCOME
SET INCOME.FECHA=FO.FECHA
FROM INCOME
JOIN(
SELECT INCOME.NUMERO_DOC, CONVERT(VARCHAR(10), INCOME.FECHA, 101)
AS FECHA FROM INCOME
) FO ON FO.NUMERO_DOC = INCOME.NUMERO_DOC
WHERE FO.NUMERO_DOC = INCOME.NUMERO_DOC
请帮忙。
解决方案
您无法通过使用格式化日期更新日期字段来更改其输出格式。日期字段的默认输出格式由服务器设置控制。
你有三个选择来做你想做的事:
- 更改服务器的默认日期格式。
- 在每个 SELECT 上使用 FORMAT 或 CONVERT 语句
- 创建一个
Formatted Fecha
varchar 字段以保存您要使用的输出/显示格式的日期。
好吧,您可以通过报告解决方案运行您的输出,并让它格式化日期输出,但这本身不是 SQL Server 解决方案。
推荐阅读
- solr - 如何在 SOLR 中查询 fieldType LatLonPointSpatialField 的空字段
- java - 无法在我的项目中使用 @Slf4j 注释,因为无法解析为类型,但在另一个项目中运行良好
- sockets - Socket 包装器是 TCP/IP 的传输层吗?
- oracle - Oracle Rest Data Service Order by desc nulls last 不起作用
- sql - 如何从重叠日期中获取单独的间隔
- javascript - 如何导入默认导出的 const
- docker - ASP.NET Core 应用程序突然需要新的特定版本而无需更改
- javascript - 所见即所得不在组字段 wordpress codestar 框架中工作
- fancybox-3 - 当 iframe URL 无法加载时停止花哨的框 3 打开
- json - 如何在 Javafx 中将 JSON 表示为树视图