lainzero 2012-08-29 12:22:22

[その他] [SQL] 今日のウンコード(月末の日を算出) このエントリーをはてなブックマークに追加

投稿者からのアピールポイント

月末の日をINTで返す。ただそれだけのワンライナー…

大変申し訳ありません!

select CAST(SUBSTRING(CONVERT(VARCHAR,DATEADD(DAY,-1,DATENAME(YEAR,DATEADD(MONTH,+1,GETDATE()))+'-'+DATENAME(MONTH,DATEADD(MONTH,+1,GETDATE()))+'-'+'01'),112),7,2) AS INT)

コメント(4)

#1 JunichiIto77 2012-08-29 12:51:14  

これでどうですか? 手元にSQL Serverがないので動作確認していませんが。

SELECT DAY(DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0)))

171文字から66文字になったので約40%のダウンサイズですね。

ちなみに参考にしたサイトはここです。

"how to get the end day of month sql server"でググったら最初に出てきたページです。

#2 InternalServerE 2012-08-29 14:34:20  

そんなものは業務アプリ側でさらっと計算すればいいんでないの。DBを計算機代わりに使おうっていう発想自体が、既に負けのような。

#3 math_neko 2012-08-31 07:02:58  

DB サーバに無暗に SQL 文投げてあまり負荷をかけるべきではないね。アプリ側で処理すべき問題かと。

#4 osaru3j 2012-09-24 08:25:36  

マニュアルにある関数サンプルの複雑なやつw データに関係なく使うとは、DB様をなんと心得る!! 控え居ろう!!


このウンコードに臭った人は、こちらのウンコードにも臭ってます

[その他] HOW TO ABC..

このエントリーをはてなブックマークに追加

実際にあった某システムの超重要なマスター...

create table item_master (
 A varchar(2...

鑑賞する »

[Java] フルHD推奨。

このエントリーをはてなブックマークに追加

画面の左側がわりと無駄な気がします。

public int hoge(){
    int result = 0;
...

鑑賞する »

[Java] スベテカンスウ

このエントリーをはてなブックマークに追加

何でもやってくれる関数って、便利ですよね...

class Processor
{
	public bool process...

鑑賞する »