วันศุกร์ที่ 23 ธันวาคม พ.ศ. 2554

ปัญหาJHCISไม่สามารถเข้าได้

พบtables ดังต่่อไปนี้ในฐาน JHCISDB ของ 15244 ชำรุด
ccertificatetype
cdentalproject
cdiseaseconflictdrug
cinstitute
cinstitutetype
cstdeducation
thaitredmeddoctordetail
visitdrugdental
visitdrugdentaldiag
usertab
ceducationlevel
visitdiagappoint

คาดว่าไม่สามารถ install ตอนปรับปรุง version JHCIS ใน Windows7เครื่องนี้ได้
แก้ไขโดยลบ tablesดังกล่าวทิ้ง แล้วปรับปรุงใหม่

วันอังคารที่ 16 สิงหาคม พ.ศ. 2554

คำสั่งส่งออก สร้าง และนำเข้าฐานข้อมูลใน mysql ที่ผมต้องใช้บ่อยๆ


ส่งออกข้อมูลจากฐานข้อมูล xxdb
• ส่งออกฐานข้อมูล xxdb  พร้อม functions/stored procedures
  นําเข้าข้อมูลจากไฟล์ SQL เข้าสู่ฐานข้อมูล xxdb
  ไปลงที่ไฟล์ /tmp/xxdb.sql
   # mysqldump  --routines  --default-character-set=tis620  -a  -Q  -n  --add-drop-table
     -u  root  -p  provisdb  >  /tmp/xxdb.sql

• สร้างฐานข้อมูล xxdb
   #  mysqladmin  -u root  -p  create  xxdb

• นําเข้าฐานข้อมูล xxdb.sql จากไฟล์ /tmpxxdb.sql
   #  mysql  --default-character-set=utf8  -u  root  -p  xxdb  <  /tmp/xxdb.sql

วันจันทร์ที่ 15 สิงหาคม พ.ศ. 2554

MySQL :: Aggreation Function


  • COUNT ( column_name )ใช้นับจำนวนแถวทั้งหมด แต่จะไม่นับค่าข้อมูลที่เป็น NULL โดยค่าที่คืนกลับมาจะเป็นชนิด int
    SUM ( column_name )ใช้หาผลรวมของค่าข้อมูลในทุกแถว
    AVG ( column_name )ใช้หาค่าเฉลี่ยของค่าข้อมูลในทุกแถว
    MAX ( column_name )ใช้หาค่าสูงสุด เมื่อเทียบกับค่าข้อมูลในทุกแถว ถ้าใช้กับข้อมูลที่เป็นตัวอักษร จะแสดงผลแถวแรกสุด
    MIN ( column_name )ใช้หาค่าต่ำสุด เมื่อเทียบกับค่าข้อมูลในทุกแถว ถ้าใช้กับข้อมูลที่เป็นตัวอักษร จะแสดงผลแถวท้ายสุด
    STDEV ( column_name )ใช้หาค่าส่วนเบี่ยงเบนมาตรฐาน ของค่าข้อมูลในทุกแถว
    STDEVP ( column_name )ใช้หาค่าส่วนเบี่ยงเบนฐานนิยม ของค่าข้อมูลในทุกแถว
    VAR ( column_name )ใช้หาค่าความแปรปรวน ของค่าข้อมูลในทุกแถว
    VARP ( column_name )ใช้หาค่าความแปรปรวนฐานนิยม ของค่าข้อมูลในทุกแถว
  • function:COUNT(column_name)
    content:ใช้นับจำนวนแถวทั้งหมด แต่จะไม่นับค่าข้อมูลที่เป็น NULL โดยค่าที่คืนกลับมาจะเป็นชนิด int
    example:SELECT COUNT(id) FROM person
  • function:SUM(column_name)
    content:ใช้หาผลรวมของค่าข้อมูลในทุกแถว
    example:SELECT SUM(price), type FROM product GROUP BY type
  • function:AVG(column_name)
    content:ใช้หาค่าเฉลี่ยของค่าข้อมูลในทุกแถว
    example:SELECT price FROM product WHERE price > AVG(price)
  • function:MAX(column_name)
    content:ใช้หาค่าสูงสุด เมื่อเทียบกับค่าข้อมูลในทุกแถว ถ้าใช้กับข้อมูลที่เป็นตัวอักษร จะแสดงผลแถวแรกสุด
    example:SELECT MAX(price) FROM product
  • function:MIN(column_name)
    content:ใช้หาค่าต่ำสุด เมื่อเทียบกับค่าข้อมูลในทุกแถว ถ้าใช้กับข้อมูลที่เป็นตัวอักษร จะแสดงผลแถวท้ายสุด
    example:SELECT MIN(price) FROM product
  • function:STDEV(column_name)
    content:ใช้หาค่าส่วนเบี่ยงเบนมาตรฐาน ของค่าข้อมูลในทุกแถว
    example:SELECT STDEV(price) FROM product
  • function:STDEVP(column_name)
    content:ใช้หาค่าส่วนเบี่ยงเบนฐานนิยม ของค่าข้อมูลในทุกแถว
    example:SELECT STDEVP(price) FROM product
  • function:VAR(column_name)
    content:ใช้หาค่าความแปรปรวน ของค่าข้อมูลในทุกแถว
    example:SELECT VAR(price) FROM product
  • function:VARP(column_name)
    content:ใช้หาค่าความแปรปรวนฐานนิยม ของค่าข้อมูลในทุกแถว
    example:SELECT VARP(price) FROM product
    คัดลอกจาก :: http://code.function.in.th/mysql/aggreation-function

MySQL :: String Function


  • ASCII ( char )ใช้คืนค่ารหัส ascii ของ char ที่กำหนด
    ORD ( string )ใช้คืนค่ารหัส ascii ของ string (คือจะนำค่า ascii ของแต่ละตัวใน string มารวมกัน)
    CONV ( num, from_base, to_base )ใช้แปลงค่า num ที่เป็นเลขฐาน from_base ให้เป็นเลขฐาน to_base
    BIN ( num )ใช้แปลงค่า num ให้เป็นเลขฐาน 2
    OCT ( num )ใช้แปลงค่า num ให้เป็นเลขฐาน 8
    HEX ( num )ใช้แปลงค่า num ให้เป็นเลขฐาน 16
    CHAR ( num1, num2, ..., numN )ใช้แปลงค่า num1, num2, ..., numN ให้เป็นข้อความ โดยเปรียบเทียบค่าจาก รหัส ascii
    CONCAT ( char1, char2, ..., charN )ใช้นำสตริงของ char1, char2, ..., charN นำมาต่อกัน
    CONCAT_WS ( separator, char1, char2, ..., charN )ใช้นำสตริงของ char1, char2, ..., charN นำมาต่อกัน โดยมีตัวเชื่อมแต่ละสตริงตาม separator ที่กำหนด
    LENGTH ( char )ใช้หาค่าความยาวของ char ที่กำหนด
    OCTET_LENGTH ( char )ใช้หาค่าความยาวของ char ที่กำหนด
    CHAR_LENGTH ( char )ใช้หาค่าความยาวของ char ที่กำหนด
    CHARACTER_LENGTH ( char )ใช้หาค่าความยาวของ char ที่กำหนด
    LOCATE ( word, sentence )ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    LOCATE ( word, sentence, start )ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    POSITION ( word IN sentence )ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    INSTR ( sentence, word )ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    LPAD ( sentence, length, word )ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
    RPAD ( sentence, length, word )ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
    LEFT ( sentence, length )ใช้คืนค่า sentence โดยจะตัดสตริงให้เหลือเพียงจำนวนตัวอักษร length โดยจะเริ่มนับจากทางซ้าย
    RIGHT ( sentence, length )ใช้คืนค่า sentence โดยจะตัดสตริงให้เหลือเพียงจำนวนตัวอักษร length โดยจะเริ่มนับจากทางขวา
    SUBSTRING ( sentence, position, length )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    SUBSTRING ( sentence FROM position FOR length )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    MID ( sentence, position, length )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    SUBSTRING ( sentence, position )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดจนจบประโยค
    SUBSTRING ( sentence FROM position )ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดจนจบประโยค
    SUBSTRING_INDEX ( sentence, delimeter, count )ใช้ตัดสตริงของ sentence โดยมีรูปแบบของการตัด
    LTRIM ( sentence )ใช้ต้ดช่องว่างทางซ้ายของ sentence ออกไป
    RTRIM ( sentence )ใช้ต้ดช่องว่างทางขวาของ sentence ออกไป
    TRIM ( sentence )ใช้ต้ดช่องว่างทางซ้ายและทางขวาของ sentence ออกไป
    SPACE ( num )ใช้กำหนดให้มีช่องว่างจำนวน num ตัวอักษร
    REPLACE ( sentence, word, replacement )ใช้ค้นหาค่าของ word ภายใน sentence แล้วแทนที่ word นั้นด้วยค่า replacement
    REPEAT ( sentence, count )ใช้คืนค่า sentence จำนวน count ครั้ง
    REVERSE ( sentence )ใช้สลับค่าของ sentence โดยจะสลับจากหน้าไปหลัง และจากหลังไปหน้า
    INSERT ( sentence, position, length, word )ใช้แทนที่ค่าของ word เข้าไปใน sentence ที่กำหนด
    ELT ( index, char1, char2, ..., charN )ใช้คืนค่าของสตริง โดยถ้า index = 1 จะคืนค่า char1, ถ้า index = 2 จะคืนค่า char2, ถ้า index = N จะคืนค่า charN
    FIELD ( word, char1, char2, ..., charN )ใช้คืนค่าของ ตำแหน่ง โดยถ้า word = char1 จะคืนค่า 1, ถ้า word = char2 จะคืนค่า 2, ถ้า word = charN จะคืนค่า N
    FIELD_IN_SET ( word, list )ใช้คืนค่าว่า word เป็นค่าข้อมูลที่เท่าใดภายใน list
    LCASE ( sentence )ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์เล็กทั้งหมด
    LOWER ( sentence )ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์เล็กทั้งหมด
    UCASE ( sentence )ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์ใหญ่ทั้งหมด
    UPPER ( sentence )ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์ใหญ่ทั้งหมด
    LOAD_FILE ( filename )ใช้อ่านข้อมูลที่อยู่ใน filename ที่กำหนด
  • function:ASCII(char)
    content:ใช้คืนค่ารหัส ascii ของ char ที่กำหนด
    example:SELECT ASCII('A')
  • function:ORD(string)
    content:ใช้คืนค่ารหัส ascii ของ string (คือจะนำค่า ascii ของแต่ละตัวใน string มารวมกัน)
    example:SELECT ORD('Function')
  • function:CONV(num,from_base,to_base)
    content:ใช้แปลงค่า num ที่เป็นเลขฐาน from_base ให้เป็นเลขฐาน to_base
    example:SELECT CONV('6E', 16, 10)
  • function:BIN(num)
    content:ใช้แปลงค่า num ให้เป็นเลขฐาน 2
    example:SELECT BIN(12)
  • function:OCT(num)
    content:ใช้แปลงค่า num ให้เป็นเลขฐาน 8
    example:SELECT OCT(12)
  • function:HEX(num)
    content:ใช้แปลงค่า num ให้เป็นเลขฐาน 16
    example:SELECT HEX(255)
  • function:CHAR(num1,num2,...,numN)
    content:ใช้แปลงค่า num1, num2, ..., numN ให้เป็นข้อความ โดยเปรียบเทียบค่าจาก รหัส ascii
    example:SELECT CHAR(77,121,83,81,76)
  • function:CONCAT(char1,char2,...,charN)
    content:ใช้นำสตริงของ char1, char2, ..., charN นำมาต่อกัน
    example:SELECT CONCAT('My','SQL')
  • function:CONCAT_WS(separator,char1,char2,...,charN)
    content:ใช้นำสตริงของ char1, char2, ..., charN นำมาต่อกัน
    โดยมีตัวเชื่อมแต่ละสตริงตาม separator ที่กำหนด
    example:SELECT CONCAT_WS(',','firstname','lastname','address')
  • function:LENGTH(char)
    content:ใช้หาค่าความยาวของ char ที่กำหนด
    example:SELECT LENGTH(firstname) FROM person
  • function:OCTET_LENGTH(char)
    content:ใช้หาค่าความยาวของ char ที่กำหนด
    example:SELECT OCTET_LENGTH(firstname) FROM person
  • function:CHAR_LENGTH(char)
    content:ใช้หาค่าความยาวของ char ที่กำหนด
    example:SELECT CHAR_LENGTH(firstname) FROM person
  • function:CHARACTER_LENGTH(char)
    content:ใช้หาค่าความยาวของ char ที่กำหนด
    example:SELECT CHARACTER_LENGTH(firstname) FROM person
  • function:LOCATE(word,sentence)
    content:ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    example:SELECT LOCATE('Mr.',name) FROM person
  • function:LOCATE(word,sentence,start)
    content:ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    โดยเริ่มต้นค้นหาจากตำแหน่ง start ที่กำหนด
    example:SELECT LOCATE('Mr.',name,5) FROM person
  • function:POSITION(word IN sentence)
    content:ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    example:SELECT POSITION('Mr.' IN name) FROM person
  • function:INSTR(sentence,word)
    content:ใช้คืนค่าตำแหน่งแรกที่พบค่าของ word ภายใน sentence โดยค้นหาจากซ้ายไปขวา
    example:SELECT INSTR(name,'Mr.') FROM person
  • function:LPAD(sentence,length,word)
    content:ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
    โดยถ้ามีน้อยกว่าก็จะเพิ่มค่าของ word เข้าไปทางซ้ายจนกว่า sentence จะมีจำนวนตัวอักษรเท่ากับ length
    example:SELECT LPAD(id,9,'0') FROM orders
  • function:RPAD(sentence,length,word)
    content:ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
    โดยถ้ามีน้อยกว่าก็จะเพิ่มค่าของ word เข้าไปทางขวาจนกว่า sentence จะมีจำนวนตัวอักษรเท่ากับ length
    example:SELECT RPAD(id,9,'0') FROM orders
  • function:LEFT(sentence,length)
    content:ใช้คืนค่า sentence โดยจะตัดสตริงให้เหลือเพียงจำนวนตัวอักษร length
    โดยจะเริ่มนับจากทางซ้าย
    example:SELECT LEFT(name,10) FROM person
  • function:RIGHT(sentence,length)
    content:ใช้คืนค่า sentence โดยจะตัดสตริงให้เหลือเพียงจำนวนตัวอักษร length
    โดยจะเริ่มนับจากทางขวา
    example:SELECT RIGHT(name,10) FROM person
  • function:SUBSTRING(sentence,position,length)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    example:SELECT SUBSTRING(name,3,10) FROM person
  • function:SUBSTRING(sentence FROM position FOR length)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    example:SELECT SUBSTRING(name FROM 3 FOR 10) FROM person
  • function:MID(sentence,position,length)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดไปจำนวน length ตัวอักษร
    example:SELECT MID(name,3,10) FROM person
  • function:SUBSTRING(sentence,position)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดจนจบประโยค
    example:SELECT SUBSTRING(name,3) FROM person
  • function:SUBSTRING(sentence FROM position)
    content:ใช้ตัดสตริงของ sentence โดยจะเริ่มตัดจากตำแหน่ง position และตัดจนจบประโยค
    example:SELECT SUBSTRING(name FROM 3) FROM person
  • function:SUBSTRING_INDEX(sentence,delimeter,count)
    content:ใช้ตัดสตริงของ sentence โดยมีรูปแบบของการตัด คือ
    นับจำนวน delimeter ใน sentence จำนวน count ครั้ง
    โดยถ้า count เป็นค่าบวกจะเริ่มนับจากทางซ้าย
    แต่ถ้า count เป็นค่าลบจะเริ่มนับจากทางขวา
    ซึ่งเมื่อนับ delimeter ไปจำนวน count ครั้งแล้วก็จะตัดสตริงนั้นออกมา
    example:SELECT SUBSTRING_INDEX('www.function.in.th','.',3)
  • function:LTRIM(sentence)
    content:ใช้ต้ดช่องว่างทางซ้ายของ sentence ออกไป
    example:SELECT LTRIM(name) FROM person
  • function:RTRIM(sentence)
    content:ใช้ต้ดช่องว่างทางขวาของ sentence ออกไป
    example:SELECT RTRIM(name) FROM person
  • function:TRIM(sentence)
    content:ใช้ต้ดช่องว่างทางซ้ายและทางขวาของ sentence ออกไป
    example:SELECT TRIM(name) FROM person
  • function:SPACE(num)
    content:ใช้กำหนดให้มีช่องว่างจำนวน num ตัวอักษร
    example:SELECT firstname + SPACE(2) + lastname FROM person
  • function:REPLACE(sentence,word,replacement)
    content:ใช้ค้นหาค่าของ word ภายใน sentence แล้วแทนที่ word นั้นด้วยค่า replacement
    example:SELECT REPLACE(name,'Mr.','นาย ') FROM person
  • function:REPEAT(sentence,count)
    content:ใช้คืนค่า sentence จำนวน count ครั้ง
    example:SELECT REPEAT('www.function.in.th',3)
  • function:REVERSE(sentence)
    content:ใช้สลับค่าของ sentence โดยจะสลับจากหน้าไปหลัง และจากหลังไปหน้า
    example:SELECT REVERSE(name) FROM person
  • function:INSERT(sentence,position,length,word)
    content:ใช้แทนที่ค่าของ word เข้าไปใน sentence ที่กำหนด 
    โดยจะเริ่มแทนที่จากตำแหน่ง position ที่กำหนดไปจำนวน length ที่กำหนด
    example:SELECT INSERT(name,1,4,'นาย ') FROM person
  • function:ELT(index,char1,char2,...,charN)
    content:ใช้คืนค่าของสตริง โดยถ้า index = 1 จะคืนค่า char1, ถ้า index = 2 จะคืนค่า char2,
    ถ้า index = N จะคืนค่า charN
    example:SELECT ELT(2,'www','function','in.th')
  • function:FIELD(word,char1,char2,...,charN)
    content:ใช้คืนค่าของ ตำแหน่ง โดยถ้า word = char1 จะคืนค่า 1, ถ้า word = char2 จะคืนค่า 2,
    ถ้า word = charN จะคืนค่า N
    example:SELECT FIELD('function','www','function','in.th')
  • function:FIELD_IN_SET(word,list)
    content:ใช้คืนค่าว่า word เป็นค่าข้อมูลที่เท่าใดภายใน list
    example:SELECT FIELD_IN_SET('function','www,function,in,th')
  • function:LCASE(sentence)
    content:ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์เล็กทั้งหมด
    example:SELECT LCASE(name) FROM person
  • function:LOWER(sentence)
    content:ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์เล็กทั้งหมด
    example:SELECT LOWER(name) FROM person
  • function:UCASE(sentence)
    content:ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์ใหญ่ทั้งหมด
    example:SELECT UCASE(name) FROM person
  • function:UPPER(sentence)
    content:ใช้แปลงค่าตัวอักษรภายใน sentence ให้เป็น ตัวพิมพ์ใหญ่ทั้งหมด
    example:SELECT UPPER(name) FROM person
  • function:LOAD_FILE(filename)
    content:ใช้อ่านข้อมูลที่อยู่ใน filename ที่กำหนด
    example:SELECT LOAD_FILE('/tmp/detail')
    คัดลอกจาก :: http://code.function.in.th/mysql/string-function