SQL Serverで改行コードを発見・置換

SELECT * FROM table
WHERE name LIKE '%' + CHAR(13) + '%';
SELECT * FROM table 
WHERE name LIKE '%' + CHAR(13) + CHAR(10) + '%';
SELECT * FROM table 
WHERE name LIKE '%' + NCHAR(13) + NCHAR(10) + '%'; 
UPDATE table SET 
name = REPLACE(name, CHAR(13), ' ');
UPDATE table SET 
name = REPLACE(name, CHAR(13) + CHAR(10), ' ');
UPDATE table SET 
name = REPLACE(name, NCHAR(13) + NCHAR(10), ' '); 

MySQLのGROUP_CONCAT

MySQLには「GROUP BY して、あるカラムの値をGROUP毎に連結して返す」ことができる関数があります。
GROUP_CONCATの中でdistinctやorder_byも可能で、結構使いどころがありそうです。
注意点としては、文字列型が前提なので、Intなどの場合はCASTが必要です。

SELECT tbl_article.id, GROUP_CONCAT(tbl_post.name SEPARATOR ' ')
FROM tbl_article 
INNER JOIN tbl_post ON tbl_article.id = tbl_post.article_id
GROUP BY tbl_post.article_id;

MySQLで日付妥当性チェック

SQLレベルで日付の妥当性チェックをしたいことが、たまにはあります。
MySQLの日付関数の多くは、妥当でない日付を与えたときにZEROかNULLを返します。
例えば、リファレンスマニュアルにある例では

SELECT STR_TO_DATE('2003-15-10', '%Y-%m-%d')

これはNULLを返します