農家SEの覚書き

忘れっぽいので、自分用の備忘録です。

PostgreSQLで1ヶ月分の日付を取得する

当日を含む過去1ヶ月の日付

SELECT
date
,to_char(cal.date, 'mm/dd(TMDy)') as 日付
FROM (
SELECT
GENERATE_SERIES::date as date
FROM
GENERATE_SERIES( (now() + '-1 MONTHS') , now() ,'1 DAYS')
) cal
ORDER BY
cal.date

  

f:id:pkpenguin:20210524105804p:plain

      ⋮

f:id:pkpenguin:20210524110339p:plain

今月の日付(1日から月末まで)

SELECT
date
,to_char(cal.date, 'mm/dd(TMDy)') as 日付
FROM (
SELECT
GENERATE_SERIES::date as date
FROM
GENERATE_SERIES( date_trunc('month',now()) ,date_trunc('month', now()) + '1 month' + '-1 days' ,'1 DAYS')
) cal
ORDER BY
cal.date

 

 f:id:pkpenguin:20210524105925p:plain

      ⋮

f:id:pkpenguin:20210524105606p:plain

 

この接続は復元されませんでした。ローカルデバイス名は既に使用されています。

最近Windowsを再起動後にネットワークドライブにアクセスすると以下のエラーが発生しました。ネットワークドライブの割り当てを解除してから作り直しても変わらずエラーに。 

f:id:pkpenguin:20210508094202p:plain

ネットワーク接続の復元エラー

SMBプロトコルを使ってLinuxの共有フォルダにアクセスしていたので、

サービスの一覧から「Workstation」を再起動するとアクセスできるように復旧しました。

f:id:pkpenguin:20210508094650p:plain

Workstationサービス


サービス一覧を起動して再起動するのは面倒なのでバッチを作成。

smb_restart.bat

 

net stop /y workstation
net start workstation

 

このバッチを「管理者として実行」すれば復旧。

f:id:pkpenguin:20210508095646p:plain

 

PostgreSQLでNullの置換

PostgreSQLでNullの置換を行う。

 

よく忘れて、スペルを間違えるのでメモ

コウアレス

COALESE

SELECT COALESCE('val1','val2');

出力結果

val1

 

SELECT COALESCE(null,'val2');

 出力結果

val2

 

SQL SERVERだと IsNULL

OracleだとNVL