概要
AtableというテーブルをSelectした結果を
BtableというテーブルにInsertする仕様です
Btableというテーブルは検索用で使うために
Atableのデータを切り落としてデータをいれる事になりました
無駄に時間がかかってしまった
次回はかからないようにするための
備忘録です
SQL
SET ANSI_WARNINGS OFF; INSERT INTO [Btable] SELECT '3001' as corner_id , [article_id] as art_id , col_id as parent_id , titledata as title ,SUBSTRING( ( isnull(col1 ,'') + isnull(col2,'') + isnull(col3,'') ) ,1, 800) as keyword , [avail_f] as view_state , reg_date as view_date FROM [Atable] WHERE [avail_f] = '1'
SUBSTRING( ( isnull(col1 ,'') + isnull(col2,'') + isnull(col3,'') ) ,1, 800) as keyword
ここがくせもの!!
はまった所1
そこまでハマっていないけど
NULLのカラムがある場合に
NULL + 'A'を結合すると
NULLになってしまう
なので
文字列結合する前にNULLチェックする
それで回避できる
空白とNULLの違いで少しハマった
よく考えればわかるレベルだった