首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >转换日期格式不会对Server中的自制日期字符串生效

转换日期格式不会对Server中的自制日期字符串生效
EN

Stack Overflow用户
提问于 2016-09-14 01:46:40
回答 2查看 2.3K关注 0票数 1

我这里有个很奇怪的问题。我有一个日期字符串,部分是我自己创建的,用于合并一个变量。问题是,我正在设置另一个语言设置。在这种情况下,我还必须转换字符串以适应语言设置格式。我用的是这个代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cast(convert(varchar, cast(cast(getdate() as date) as varchar) + ' ' + RIGHT('0' + CAST(@HR as varchar), 2) + ':00:00.000', 120) as datetime)

我得到错误“将varchar数据类型转换为日期时间数据类型导致了超出范围的值”,如果在转换之前分配错误的日期格式,这是正常的。

问题是,当我试图转换个人创建的日期字符串时,它不会改变它的格式,不管我在哪种格式代码中设置它。即使当我硬编码一个数字而不是我的变量时,这种情况也不会改变:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
convert(varchar, cast(cast(getdate() as date) as varchar) + ' 0' + CAST(2 as varchar) + ':00:00.000', 101)

2016年业绩-09-14 02:00:00.000

例如,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
convert(varchar, dateadd(Hour, 2, getdate()), 101) as datetime

2016年9月14日的结果。

即使我有一个不同的语言设置,SQL server不应该总是以标准格式识别日期格式吗?

请给我一个建议,这样我就能克服这个问题。

提前感谢!

PS:在设置保加利亚语言之前,我通过在变量中插入转换后的datetime列来解决我的问题。不过,我还是很想知道是什么引起了这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-14 04:28:49

好的,我可能对这个问题有一个解决办法:为什么在转换时,这种格式在SQL-SERVER中有不同的处理方式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CONVERT(data_type(length),expression,style)

STYLE值仅适用于日期/时间。因此,由于数据类型的不同,输出是不同的。见以下示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT convert(varchar, dateadd(Hour, 2, getdate()), 101) as datetime

你得到的结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
09/14/2016

在这里,您将datetime数据类型转换为varcharSTYLE-value和101应用于CONVERT,并且输出以该格式转换。

示例2是相同的,但内部大部分是在转换之前先转换到varchar中的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT convert(varchar, CAST(dateadd(Hour, 2, getdate()) AS varchar), 101) as datetime

你得到的结果是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sep 14 2016  4:09PM

因此,由于我们试图将varchar转换为varchar,所以STYLE-value不适用于转换。

这也是第一个查询被不同处理的原因:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT convert(varchar, cast(cast(getdate() as date) as varchar) + ' 0' + CAST(2 as varchar) + ':00:00.000', 101)

在这里,您在转换之前转换为varchar cast (强制转换(getdate()为date)为varchar)。因此,STYLE-value没有应用,因为它不是来自数据类型日期/时间。

我希望这句话说得有点清楚了。如果这有帮助的话请告诉我。

票数 1
EN

Stack Overflow用户

发布于 2016-09-14 02:36:46

使用“转换”格式化日期时间时,可以向其传递样式编号。

寻找那些数字的这里这里

下面的查询将自定义创建的日期时间转换为126 (ISO8601)格式。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
declare @d int = 2;

SELECT 
CONVERT(varchar,
        CONVERT(datetime,
                CONCAT(FORMAT(GETDATE(),'yyyy-MM-dd'),' ',@d,':0')
                )
         ,126) AS MyDateStamp1,
CONVERT(varchar,
        CONVERT(datetime,
                CONVERT(varchar,GETDATE(),102)+' '+convert(varchar,@d)+':0'
                )
         ,126) AS MyDateStamp2;

格式& CONCAT函数可以在Server 2012及以后使用。

但是,如果您有一个较早的版本,那么转换应该是有效的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39487346

复制
相关文章
mysql日期格式转换_MySQL日期格式转换
DATE_FORMAT(date,format):根据参数对date进行格式化。1
全栈程序员站长
2022/07/02
11.7K0
Flutter中的日期格式转换
1. Flutter中的日期转换 // 初始化当前日期 DateTime _nowDate = DateTime.now(); // 获取当前时间 print(_nowDate); // 2021-01-01 18:18:37.522021 // 获取当前时间戳 print(_nowDate.millisecondsSinceEpoch); // 1609496743946 // 将时间戳转为格式化的时间 print(DateTime.fromMillisecondsSinceEpoch(160949
越陌度阡
2021/01/05
5.9K0
日期格式转换
没有人见过风的模样,每当树枝摇曳,水波涟漪或浮云飘过,我们才知道风一直都在从未离开!
栖西
2023/10/17
2970
日期格式转换
Mysql 日期格式转换
DATE_FORMA T(date, format) 根据格式串format 格式化日期或日期和时间值date,返回结果串。
全栈程序员站长
2022/07/02
6.1K0
hive日期格式转换
16/Mar/2022:12:25:01 +0800 转成正常格式(yyyy-MM-dd hh:mm:ss)
chimchim
2022/11/13
2.8K0
SQL Server 日期 字符串 格式转换 函数 datetime convert「建议收藏」
SQL Server 内置函数CONVERT(data_type(length),data_to_be_converted,style)
全栈程序员站长
2022/11/08
2.3K0
springboot使用fastjson格式化日期数据不生效
网上很多的解决方案本身都是针对Jackson的,Jackson的解决方案相对比较容易,主要就是在application.yaml文件里面添加以下的代码就能都正常显示格式化的日期数据了
萌萌哒的瓤瓤
2021/01/13
1.9K0
springboot使用fastjson格式化日期数据不生效
mysql时间戳格式转换日期格式字符串
注:方法2时,需要先用unix_timestamp()方法将数据转换成时间戳格式,再用from_unixtime()方法将时间戳转换成自定义格式时间字符串。直接用from_unixtime()方法转换出来的数据NULL。
全栈程序员站长
2022/06/24
4.8K0
sql server 字符串和日期的转换函数[通俗易懂]
字符串转换为日期: cast(‘20100514’ as datetime)
全栈程序员站长
2022/11/10
2.6K0
Power Query日期格式转换
有人问,三列年月日,如何在Power Query变为“20210101”这种样式?
wujunmin
2021/11/26
4K0
[1144]Hive常用日期格式转换
参考:https://blog.csdn.net/wufagang/article/details/124025258 https://www.jianshu.com/p/55f9683c63f1
周小董
2022/05/31
11.7K0
C#日期格式转换
DateTime dt = DateTime.Now; // Label1.Text = dt.ToString();//2005-11-5 13:21:25 // Label2.Text = dt.ToFileTime().ToString();//127756416859912816 // Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816 // Label4.Text = dt.ToLocalTime().ToString(
欢醉
2018/01/22
1.9K0
js时间戳转换日期格式和日期计算
一、时间戳转换日期 1 function formatDate(datetime) { 2 // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 3 var year = datetime.getFullYear(), 4 month = ("0" + (datetime.getMonth() + 1)).slice(-2), 5 date = ("0" + datetime.getDate()).
半指温柔乐
2018/09/11
29.2K0
LeetCode MySQL 1853. 转换日期格式(日期格式化)
给定一个Days表,请你编写SQL查询语句,将Days表中的每一个日期转化为"day_name, month_name day, year"格式的字符串。
Michael阿明
2021/09/06
3.2K0
sql server 日期转换函数 convert()
--内容来自:http://hi.baidu.com/muqingz/item/8fb7b3ca8a485b0cac092f7b Select CONVERT(varchar(100), GETDATE(), 0)--: 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1)--: 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2)--: 06.05.16 Select CONVERT(
乔达摩@嘿
2020/09/11
1.4K0
springboot,get传日期格式转换
男女双方愿意相互观察是爱情的第一征象——瓦西列 对于这种请求: http://api.achao.cn/example?date=2022-11-09 我们可以配置转换器,mvc则会自动帮我们转
阿超
2022/11/16
8760
js中yyyy-MM-dd格式的日期转换
1.转换为yyyy年MM月dd日 var str = "2021-09-13"; var reg =/(\d{4})\-(\d{2})\-(\d{2})/; var date = str.replace(reg,"$1年$2月$3日"); alert(date); 2.转换为yyyy/MM/dd/ var str = "2021-09-13"; var reg =/(\d{4})\-(\d{2})\-(\d{2})/; var date = str.repl
江一铭
2022/06/16
6.9K0
sql 时间日期格式转换[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/179158.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
6.3K0
sql 时间日期格式转换[通俗易懂]
Java时间日期格式转换
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Java时间日期格式转换,希望能够帮助大家进步!!!
Java架构师必看
2022/01/13
5K0
java 日期格式化– SimpleDateFormat 的使用。字符串转日期,日期转字符串
日期和时间格式由 日期和时间模式字符串 指定。在 日期和时间模式字符串 中,未加引号的字母 ‘A’ 到 ‘Z’ 和 ‘a’ 到 ‘z’ 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (‘) 引起来,以免进行解释。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串 白话文的讲:这些A——Z,a——z这些字母(不被单引号包围的)会被特殊处理替换为对应的日期时间,其他的字符串还是原样输出。
全栈程序员站长
2022/07/01
5.1K0
java 日期格式化– SimpleDateFormat 的使用。字符串转日期,日期转字符串

相似问题

转换Server日期格式

51

Server日期转换不格式化输出

11

熊猫日期格式不转换日期

23

转换SQL server日期格式

22

Server日期转换默认格式

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文