SQL中日期格式转换(datetime)

convert(nvarchar,A_Date,126) //126可以替换,数值不同,格式不同


101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 mon dd yyyy hh:mi:ss:mmmAM (or PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 yyyy-mm-dd hh:mm:ss(24h)
121 yyyy-mm-dd hh:mm:ss.mmm(24h)
126 yyyy-mm-dd T hh:mm:ss.mmm(no spaces)
130 dd mon yyyy hh:mm:ss:mmm AM
131 dd/mm/yy hh:mm:ss:mmmAM

### SQL Server 中进行日期格式转换SQL Server 中,`CONVERT` 和 `CAST` 函数用于执行数据类型的显式转换。对于日期格式转换,最常用的是 `CONVERT` 函数。 #### 使用 CONVERT 进行日期格式化 通过指定不同的样式参数,可以将 `datetime` 类型的数据按照特定格式显示。例如: ```sql -- 将当前日期时间按美国标准日期格式 (mm/dd/yyyy) 显示 SELECT CONVERT(varchar, GETDATE(), 101); -- 输出类似于:05/23/2023 ``` 不同风格编号对应着各种国际化的日期表示方法[^3]。 #### 自定义日期字符串到 datetime转换 当需要把自定义格式的字符串解析成 `datetime` 对象时,同样依赖于 `CONVERT` 或者更推荐使用的 `PARSENAME` 及 `TRY_PARSE` 函数来处理复杂情况下的输入验证。 #### 获取日期组件并构建新格式 如果目标不是直接应用预设模式而是组合新的布局,则可以通过单独获取年份、月份等组成部分再拼接起来实现个性化定制: ```sql -- 提取年、月、日作为独立列返回 SELECT YEAR(GETDATE()) AS YearPart, MONTH(GETDATE()) AS MonthPart, DAY(GETDATE()) AS DayPart; ``` 此外,还可以利用这些函数创建复合表达式的输出形式满足具体业务需求[^2]。 #### 时间戳与 Unix 时间之间的互转 有时会涉及到跨平台操作或是与其他系统交互的需求,在这种情况下可能需要用到从常规日期时间向Unix时间戳(即自1970-01-01起始计算的毫秒数)或者相反方向上的变换逻辑: ```sql -- 当前时刻距离 epoch time 已经过了多少微秒 SELECT DATEDIFF_BIG(MICROSECOND,'1970-01-01T00:00:00Z', SYSDATETIMEOFFSET()); -- 把给定的 unix timestamp 转换sql server 支持的标准日期时间 DECLARE @unixTimestamp BIGINT = 1684838400000; -- 示例值 SELECT DATEADD(SECOND,@unixTimestamp / 1000 , CAST('1970-01-01' AS DATETIME)) ; ``` 以上展示了多种方式来进行SQL Server中的日期格式转换工作,无论是简单的格式调整还是复杂的数值映射都能找到合适的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值