前提・実現したいこと
VBAで使用していたSQLのソースがあるのですが、同様の処理をVB.netで行いたいですが、上手くいきません。。
発生している問題・エラーメッセージ
エラーメッセージ concat付近に不適切な構文があります。
該当のソースコード
VBA
1ソースコード 2select h.tgnshiduke 日付, b.TGNGNUMBER 行番号, 3 concat(b.TGNGBCD, '_', 4 b.TGNYZCD, (case coalesce(b.tgngmei, '') when '' then '' else '_' end), 5 coalesce(b.TGNGMEI, ''), (case coalesce(g.tgmmtno, '') when '' then '' else '_' end), 6 coalesce(g.tgmmtno, '')) 業務名, 7 b.tgnsbcd 作業分類, b.TGNKZIKOKU 開始時刻, b.tgnszikoku 終了時刻, b.tgnktime 休憩, 8 CONVERT(CHAR(5), 9 DATEADD(SECOND, 10 DATEDIFF(SECOND, convert(datetime, concat(h.tgnshiduke, ' ', b.tgnkzikoku, ':00')), 11 convert(datetime, concat(h.tgnshiduke, ' ', b.tgnszikoku, ':00'))) 12 - datediff(second, CONVERT(DATETIME, 0), 13 concat(convert(varchar, convert(datetime, 0), 111), ' ', b.TGNKTIME, ':00')) 14 - datediff(second, CONVERT(DATETIME, 0), 15 concat(convert(varchar, convert(datetime, 0), 111), ' ', b.TGNITIME, ':00')), 16 CONVERT(DATETIME, 0)), 108) 作業時間, 17 b.tgnbikou 内容, b.tgnsbasyo 備考, mk.MKNKBNN 担当者, b.tgnsyagai 社内外, b.tgnitime 移動時間 18 from gyomu_head h 19 left join gyomu_body b on h.tgngnno = b.TGNGNNO 20 left join tgyomu g on b.tgnodnumber = g.TGMODNO 21 left join mkubun mk on h.TGNTANTOSYA = mk.MKNKBNCD1 and mk.MKNKBNID = 'TANTOSHA' 22 where h.tgnshiduke >= '2020/09/01' and h.tgnshiduke <= '2020/09/14' 23 order by h.tgnupdtn, h.TGNSHIDUKE
試したこと
このままのソースでVB.NETの方でも試してみましたが上記のエラーメッセージが表示されます。
補足情報(FW/ツールのバージョンなど)
VisualStudio2017,SQLServer