CONVERT()转换函数详解(含格式代码样式style)-综合交流区开发技术-低代码平台-本牛千智|专注WorkFine

CONVERT()转换函数详解(含格式代码样式style)

日期转字符(VARCHAR,日期,格式)
CONVERT(target_data_type [ ( length ) ], expression [ , style ] )

在SQL Server中,CONVERT() 函数是一个非常强大的工具,用于将一种数据类型转换为另一种数据类型。它可以用于日期、时间、数字等多种类型的转换。下面是一些关于如何使用 CONVERT() 函数的说明和示例。

基本语法

CONVERT() 的基本语法如下:

CONVERT(target_data_type [ ( length ) ], expression [ , style ] )
  • target_data_type: 指定转换后的数据类型,例如 date, datetime, int, float, varchar, nvarchar 等。
  • length: 对于字符数据类型,可选地指定长度。
  • expression: 需要转换的数据。
  • style: 只有当目标数据类型为 datetimesmalldatetime 时才使用,用于控制日期/时间的格式。

示例 1: 文本转日期

假设你有一个名为 Sales 的表,其中有一列 OrderDate 存储的是文本格式的日期,你想将这些文本转换为日期类型并与某个日期进行比较。

SELECT *
FROM Sales
WHERE CONVERT(date, OrderDate, 126) BETWEEN '2024-01-01' AND '2024-12-31';

这里 126 对应的格式是 'yyyy-MM-dd'。你可以根据你的日期格式选择合适的格式代码。

示例 2: 日期转文本

如果你想将日期转换为特定格式的文本,可以使用 CONVERT() 并指定格式代码:

SELECT 
    SaleID,
    OrderDate,
    CONVERT(varchar(10), OrderDate, 120) AS FormattedDate
FROM Sales;

这里 120 对应的格式是 'MM/dd/yyyy'

日期时间转文本

本示例数据库SQL Server

SELECT CONVERT (VARCHAR, GETDATE(),120)

示例 3: 数字转文本

将数字转换为文本格式,例如将价格转换为带有货币符号的文本:

SELECT 
    SaleID,
    OrderDate,
    CONVERT(nvarchar(20), Price, 1) AS FormattedPrice
FROM Sales;

这里 1 对应的格式是 '#,##0.00',表示带有两位小数的货币格式。

示例 4: 文本转数字

将文本格式的数字转换为实际的数字类型,例如从文本字段提取数字并进行计算:

SELECT 
    SaleID,
    OrderDate,
    Price,
    CONVERT(decimal(10, 2), Quantity * Price) AS TotalPrice
FROM Sales;

示例完整脚本

假设你有一个表 Sales 如下:

CREATE TABLE Sales (
    SaleID int,
    OrderDate varchar(10),
    Quantity int,
    Price money
);

INSERT INTO Sales (SaleID, OrderDate, Quantity, Price)
VALUES (1, '2024-08-01', 10, 100.00),
       (2, '2024-08-02', 5, 200.00),
       (3, 'invalid-date', 7, 150.00),
       (4, '2024-09-01', 15, 120.00);

使用 CONVERT() 进行筛选:

SELECT *
FROM Sales
WHERE CONVERT(date, OrderDate, 126) BETWEEN '2024-08-01' AND '2024-08-31';

这将只返回那些成功转换为日期并且在指定日期范围内的记录。

格式代码

CONVERT() 支持许多格式代码。这里列出一些常见的格式代码:

平台中函数的应用

有时候为了美化日期的展现样式,需要对日期的格式及长度进行修整,这时可以使用日期转字符函数

日期转字符函数位置

例如:将表单修改日期时间转换为无时间只保留日期,可以使用下面代码

日期转字符(VARCHAR, [日期转换_主表].[@最后修改时间] , 111) 

日期转字符格式代码ID

将下面ID填写到函数第三个参数[格式]那里就能实现相应的格式

实例:让日期时间显示日期格式

决策分析中的坐标轴日期格式这样转换就行了

相关文章

请登录后发表评论

    请登录后查看回复内容