首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SQL中拆分列

如何在SQL中拆分列
EN

Stack Overflow用户
提问于 2012-11-27 07:01:56
回答 4查看 132关注 0票数 0

在我的表中,我有一个列current_date,其值是2012-11-27。

这是我的代码

代码语言:javascript
复制
$query = QModel::query("SELECT * FROM transaction WHERE current_date='$order_date'"); 

$order_date的值仅为"2012-10",如何将current_date拆分为仅为“2012-10”的年度月.

我应该使用CHARINDEX来分割current_date吗?怎么请..。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-27 07:04:34

那么,如果您需要在一个月内选择所有记录,您可以这样做:

代码语言:javascript
复制
SELECT * 
FROM table
WHERE current_date >= convert(datetime, '20121001', 112) and current_date < convert(datetime, '20121101', 112)

我不能建议使用monthyear函数,因为索引不能工作。

更新: AFAIK,在MySQL中

代码语言:javascript
复制
SELECT * 
FROM table
WHERE current_date >= str_to_date('20121001', '%y%m%d') and current_date < str_to_date('20121101', '%y%m%d')
票数 1
EN

Stack Overflow用户

发布于 2012-11-27 07:04:33

如果您使用的是MySQL

代码语言:javascript
复制
SELECT * 
FROM table 
WHERE YEAR(current_date) = 2012 AND
      MONTH(current_date) = 10

对于SQL Server

代码语言:javascript
复制
SELECT * 
FROM table 
WHERE DATEPART(year,current_date) = 2012 AND
      DATEPART(month, current_date) = 10
票数 0
EN

Stack Overflow用户

发布于 2012-11-27 07:04:36

试试这个:

适用于mysql和sql server。

代码语言:javascript
复制
SELECT * 
FROM table 
WHERE month(current_date)=10
and   year(current_date)=2012
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13578989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档