char型数据:2010-7-28 PM 1:19:35
期望转成:2010-07-28,
应该如何写语句,我会将2010-7-28 1:19:35转换为2010-07-28,但是字符串中一包含PM,就提示我“从 char 数据类型到 smalldatetime 数据类型的转换导致 smalldatetime 值越界。”应该如何写,谢谢
期望转成:2010-07-28,
应该如何写语句,我会将2010-7-28 1:19:35转换为2010-07-28,但是字符串中一包含PM,就提示我“从 char 数据类型到 smalldatetime 数据类型的转换导致 smalldatetime 值越界。”应该如何写,谢谢
解决方案 »
- 该服务未及时响应启动请求或控制请求。您需要拥有管理员特权,才能开始/停止该服务。 (SQLSAC)
- 请教一个insert into 问题
- 请教一小数处理问题
- 使用SQLDMO 如何连接sqlverver?
- sql server 2005 express 无法连接,百度了很久都无法解决的疑难问题
- 请问如何把一条数据分解成多条数据?内详
- 急!求一SQL语句
- 请问如何用存储过程创建SQL作业啊?得到答案便结帖..谢谢各位高手
- 求一个存储过程的写法!在线等,有关查询的
- 请问各位大虾:怎么用vc建立sql server的数据库和数据表呀?
- 如何用一条sql把用TOP3查出来的3条记录的其中一字段组合起来哦
- SQL Server CE 与 Visual Studio 三问
SELECT @C='2010-7-28 PM 1:19:35'
SELECT @C,LEFT(@C,CHARINDEX(' ',@C))
--2010-7-28 PM 1:19:35 2010-7-28
SELECT @C='2010-7-28 PM 1:19:35'
SELECT @C,LEFT(@C,CHARINDEX(' ',@C))
--补0
,CONVERT(VARCHAR(10),CAST(LEFT(@C,CHARINDEX(' ',@C)) AS DATETIME),120)
--2010-7-28 PM 1:19:35 2010-7-28 2010-07-28
declare @tb nvarchar(30)
set @tb='2010-7-28 PM 1:19:35'
select CONVERT(char(10),@tb,120)
这种值的情况下就会出错了
declare @tb nvarchar(30)
set @tb='2010-01-10 PM 1:19:35'
select SUBSTRING(@tb,1,charindex('M',@tb)-2)
用这个 PM AM都可以了