像这样的一列,中间有空格,属性为text,想要把日期和时间分成两列存放,应该怎么操作,求助大神
解决方案 »
- 分页存储过程带条件有问题,如果条件为空就好了
- 如何检查一张表被多少个存储过程,视图,以及自定义函数有在使用
- 一个比较难写的存储过程
- 这样sql语句如何写
- 别名的定义究竟有几种方法?
- 做过C/S的高手来帮我看看,客户端连接服务器端SQL2000的问题
- 求救:SQL 聚合函数加关联表的问题
- 高分求救,存储过程如何传递带有单引号(')的参数?
- 有什么办法可以将dbcc的结果集保存到一张临时表里面
- 欢迎oracle高手,这里分值多多(nononono,yangzi,mycode prefered)
- SQL语句打印出来变量都有值,但是执行sql之后,只改变了部分字段,求大神回复
- 价值 100 RMB 的一道 SQL 题
GO
IF OBJECT_ID('t1') IS NOT NULL DROP TABLE t1
IF OBJECT_ID('t2') IS NOT NULL DROP TABLE t2
GO
CREATE TABLE t1(
d DATETIME
)
GO
SET NOCOUNT ON
INSERT INTO t1 VALUES ('2014-03-01 00:00:00')
INSERT INTO t1 VALUES ('2014-03-01 00:01:00')
INSERT INTO t1 VALUES ('2014-03-01 00:02:00')
--以上为测试数据--
SELECT
CONVERT(CHAR(10),d,120) AS [日期]
,CONVERT(CHAR(8),d,108) AS [时间]
FROM t1
是的, 前面的是创建测试数据, 方便你对照。你参照着 select 那部分写就可以了。
或者用函数 dbo.func_splitstring
效果是这样
是的, 前面的是创建测试数据, 方便你对照。你参照着 select 那部分写就可以了。我把这一列的属性改成datatime 然后用这个函数,一直不成功
改成下面的:
DROP TABLE if exists t1;
CREATE TABLE t1(
d DATETIME
);
INSERT INTO t1 VALUES ('2014-03-01 00:00:00');
INSERT INTO t1 VALUES ('2014-03-01 00:01:00');
INSERT INTO t1 VALUES ('2014-03-01 00:02:00');
SELECT
DATE_FORMAT(d,'%Y-%m-%d') AS `日期`
,DATE_FORMAT(d,'%H-%i-%s') AS `时间`
FROM t1