sql 中 convert datetime 的用法

本文详细介绍了SQL中使用CONVERT函数将datetime类型转换为不同格式的varchar类型的方法。通过不同的样式参数,可以得到多种日期和时间的显示格式。

sql 中  convert datetime 的用法

CONVERT(data_type,expression[,style])
convert(varchar(10),字段名,转换格式)
时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PM
SELECT CONVERT(varchar(100), GETDATE(), 1) 07/15/09
SELECT CONVERT(varchar(100), GETDATE(), 2) 09.07.15
SELECT CONVERT(varchar(100), GETDATE(), 3) 15/07/09
SELECT CONVERT(varchar(100), GETDATE(), 4) 15.07.09
SELECT CONVERT(varchar(100), GETDATE(), 5) 15-07-09
SELECT CONVERT(varchar(100), GETDATE(), 6) 15 07 09
SELECT CONVERT(varchar(100), GETDATE(), 7) 07 15, 09
SELECT CONVERT(varchar(100), GETDATE(), 8) 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 9) 07 15 2009 4:06:26:513PM
SELECT CONVERT(varchar(100), GETDATE(), 10) 07-15-09
SELECT CONVERT(varchar(100), GETDATE(), 11) 09/07/15
SELECT CONVERT(varchar(100), GETDATE(), 12) 090715
SELECT CONVERT(varchar(100), GETDATE(), 13) 15 07 2009 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 14) 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 20) 2009-07-15 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 21) 2009-07-15 16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 22) 07/15/09 4:06:26 PM
SELECT CONVERT(varchar(100), GETDATE(), 23) 2009-07-15
SELECT CONVERT(varchar(100), GETDATE(), 24) 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 25) 2009-07-15 16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 100) 07 15 2009 4:06PM
SELECT CONVERT(varchar(100), GETDATE(), 101) 07/15/2009
SELECT CONVERT(varchar(100), GETDATE(), 102) 2009.07.15
SELECT CONVERT(varchar(100), GETDATE(), 103) 15/07/2009
SELECT CONVERT(varchar(100), GETDATE(), 104) 15.07.2009
SELECT CONVERT(varchar(100), GETDATE(), 105) 15-07-2009
SELECT CONVERT(varchar(100), GETDATE(), 106) 15 07 2009
SELECT CONVERT(varchar(100), GETDATE(), 107) 07 15, 2009
SELECT CONVERT(varchar(100), GETDATE(), 108) 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 109) 07 15 2009 4:06:26:513PM
SELECT CONVERT(varchar(100), GETDATE(), 110) 07-15-2009
SELECT CONVERT(varchar(100), GETDATE(), 111) 2009/07/15
SELECT CONVERT(varchar(100), GETDATE(), 112) 20090715
SELECT CONVERT(varchar(100), GETDATE(), 113) 15 07 2009 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 114) 16:06:26:513
SELECT CONVERT(varchar(100), GETDATE(), 120) 2009-07-15 16:06:26
SELECT CONVERT(varchar(100), GETDATE(), 121) 2009-07-15 16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 126) 2009-07-15T16:06:26.513
SELECT CONVERT(varchar(100), GETDATE(), 130) 23 ??? 1430 4:06:26:513PM
SELECT CONVERT(varchar(100), GETDATE(), 131) 23/07/1430 4:06:26:513PM

### SQL CONVERT 函数详解 #### 基本语法 `CONVERT` 函数用于将表达式的数据类型转换为目标数据类型。其基本语法如下: ```sql CONVERT(data_type[(length)], expression [, style]) ``` 其中 `data_type` 是目标数据类型的名称,`expression` 是要转换的源表达式,而可选参数 `style` 主要用作日期和时间格式化或数值格式化的样式码[^1]。 #### 示例说明 为了更好地理解如何使用 `CONVERT` 函数,在下面给出几个具体的例子来展示不同场景下的应用方式。 ##### 数字到字符串的转换 可以利用此功能把数字型的数据转成特定格式的文字串表示形式。例如,将浮点数按照货币格式显示出来: ```sql SELECT CONVERT(VARCHAR, 1234567.89, 1) AS FormattedNumber; -- 结果: 1,234,567.89 ``` 这里使用的第三个参数 `1` 表示采用千位分隔符的形式输出数值[^2]。 ##### 字符串到日期的解析 当面对来自外部系统的非标准日期字符串输入时,可以通过指定合适的 `style` 参数来进行正确的解释并存储为内部认可的时间戳结构。 ```sql SELECT CONVERT(DATETIME, 'Jan 20, 2023', 106) AS ParsedDate; -- 结果: 2023-01-20 00:00:00.000 ``` 在这个案例里选择了 `106` 风格编号对应于 "dd mon yyyy" 的英国/法国短日期模式。 ##### 数据库对象名大小写敏感性的调整 有时出于兼容性考虑或是规范化目的,可能需要改变某些标识符(比如表列名字)呈现给用户的外观特征而不影响底层逻辑定义;这时就可以借助 `CONVERT` 来实现快速简便的操作。 ```sql DECLARE @TableName NVARCHAR(50); SET @TableName = N'Orders'; SELECT QUOTENAME(CONVERT(NVARCHAR,@TableName)) AS QuotedName; -- 结果: [ORDERS] ``` 上述代码片段展示了怎样强制大写的专有名词作为查询结果的一部分返回给客户端应用程序[^3]。 #### 总结 综上所述,`CONVERT` 不仅是一个简单实用的小工具,而且对于优化SQL语句性能有着不可忽视的作用。合理运用它可以简化开发流程中的诸多环节,并提高最终产品的质量水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值