[MS SQL]含有上午or下午字符串转成DateTime之错误处理

前言

此篇文章标题实在很难下,所以我需要描述一下情境。因最近接手一个国外的Project,首先必须先将开发环境建置起来,但有关日期的程序写法,都是在C#将Datetime直接ToString,然后这个string直接丢到SP去处理,正式环境都跑得好好的,测试环境在DB就发生了日期转型错误的Exception。

还原&调试

在C#里,会产生出类似这种string,Response的结果会是2013/5/25 上午 00:21:25这种格式

之后这个string,会丢到SP做一些处理,这种格式就会发生错误

当然可以修改程序,让ToString时可以自己指定格式,如下图

但整个工程太浩大,暂时不想花那么多时间去重构程序,因DataTime的时间,是抓该台Server的日期设定格式,故朝着修改Server设定的想法去做,让测试环境能Run起来,而到时因正式环境会全是英文,故比较不会出现有中文字符串之问题。

首先先到控制面板>时间语言语和区域>地区及语言

调整日期格式,将tt hh:mm调整为HH:mm: ss(24小时制)

照理修改完后,去页面执行应该会是输出此格式,但发现还是没变(重开机也一样)

真的很诡异,后来发现登录档的值根本没变,故直接朝着他下手…在执行窗口输入执行regedit.exe

进入底下路径,将sShortTime及sTimeFormat的tt格式拿掉,之后再重开机

如此在页面上,Response出来就会是2013/5/25 00:33:29这种格式,丢进SP也不会出错了

后记

其实看不同国家的Code还蛮有趣的,会考虑到语系、编码之类的问题,在看这些Code也觉得这些小地方可能要再多考虑一点,如Datetime还是把他格式标准化比较好。

原文:大专栏  [MS SQL]含有上午or下午字符串转成DateTime之错误处理

原文地址:https://www.cnblogs.com/chinatrump/p/11490971.html

时间: 2024-08-28 05:54:23

[MS SQL]含有上午or下午字符串转成DateTime之错误处理的相关文章

sql 多条件查询 拼接字符串 改成 普通查询格式

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER PROC [dbo].[usp_SRV_CheckServiceDemandOrder] @AInsNO NVARCHAR(50) =null,--必填 @ACompanyName NVARCHAR(50) = null,--必填 @ADepartmentName NVARCHAR(50) = null, @AName NVARCHAR(50) = null, --必填 @ApplicantI

MS SQL验证字符串是否包含有大小写字母

昨晚有实现一个小功能,就是在MS SQL Server中,检查字符串是否包含有大小写字母.通常应用在字符串的复杂度. DECLARE @s NVARCHAR(40) = N'SDFfgGRYJhhTYUJ' IF LOWER(@s) COLLATE Latin1_General_CS_AS <> @s AND UPPER(@s) COLLATE Latin1_General_CS_AS <> @s PRINT 'T' ELSE PRINT 'F' Source Code 实时操作演

C# string转换成DateTime?(字符串转换成可空日期类型)

[转载] 作者:十有三 出处:http://shiyousan.com/post/ca4a6413-ecb4-4237-baf6-e88e616d18fc PS:此文主要讲述的是可空日期类型和字符串之间的转换,正常类型转换看这篇文章:字符串string类型转换成DateTime类型 最近项目中遇到以前一直困扰的问题,就是如何将string转换成DateTime?这种可空日期类型.以前总是通过编写一堆逻辑代码来进行转换,但是写这些代码感觉非常繁琐.后在网上浏览相关资料,使用NullableConv

MS SQL Server 数据库连接字符串

MS SQL Server 数据库连接字符串详解 C# 连接串设置超时时间 SqlConnection.ConnectionTimeout 与 SqlCommand.CommandTimeout 及SqlBulkCopy.BulkCopyTimeout属性 https://msdn.microsoft.com/zh-cn/library/8xx3tyca.aspx  SQL Server 连接池 (ADO.NET) http://www.docin.com/p-576271306.html 4.

数据库基础知识总结(MS sql)

基本概念 数据:描述事物的符号称为数据,是存储在数据库中的基本对象. 数据库:数据库是长期存储在计算机上内的有组织.可共享的数据集合. 数据库管理系统:用户和操作系统之间的一层数据管理软件.主要功能包括如下几个方面: >1 数据定义功能:通过数据定义语言DDL(Data Definition Language)实现数据对象的定义 >2 数据组织.存储和管理 >3 数据操纵:通过数据操纵语言DML(Data Manipulation Language),用户可以使用DML操纵数据,实现对数

MS SQL GUID

(转自:http://blog.csdn.net/maonongwu/article/details/6327093) GUID介绍 GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字.例如:6F9

MS SQL语句优化

MS SQL Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没

MS Sql优化(转自网络)

MS SQL Server查询优化方法查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没

MS Sql Server 中主从库的配置和使用介绍(转)

网站规模到了一定程度之后,该分的也分了,该优化的也做了优化,但是还是不能满足业务上对性能的要求:这时候我们可以考虑使用主从库. 主从库是两台服务器上的两个数据库,主库以最快的速度做增删改操作+最新数据的查询操作:从库负责查询较旧数据,做一些对实效性要求较小的分析,报表生成的工作.这样做将数据库的压力分担到两台服务器上从而保证整个系统响应的及时性. SQL Server提供了复制机制来帮我们实现主从库的机制.我们看下如何在sql server 2005中实践: 实践前需要新创建一个Test的数据库